1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
From: Antonio Radici <antonio@debian.org>
Date: Thu, 27 Feb 2014 17:11:56 +0100
Subject: 228671-pipe-mime
Don't draw imap fetch progress if we aren't in visual mode.
Drawing progress leaves terminal in confusing state when
piping a message from pager to less(1).
See http://bugs.mutt.org/1771
Updated in Debian bug #569279
Gbp-Pq: Topic upstream
---
imap/message.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/imap/message.c b/imap/message.c
index 3c9822f..3504be8 100644
--- a/imap/message.c
+++ b/imap/message.c
@@ -398,7 +398,7 @@ int imap_fetch_message (MESSAGE *msg, CONTEXT *ctx, int msgno)
char path[_POSIX_PATH_MAX];
char *pc;
long bytes;
- progress_t progressbar;
+ progress_t progressbar, *pbar;
int uid;
int cacheno;
IMAP_CACHE *cache;
@@ -495,9 +495,15 @@ int imap_fetch_message (MESSAGE *msg, CONTEXT *ctx, int msgno)
imap_error ("imap_fetch_message()", buf);
goto bail;
}
- mutt_progress_init (&progressbar, _("Fetching message..."),
- M_PROGRESS_SIZE, NetInc, bytes);
- if (imap_read_literal (msg->fp, idata, bytes, &progressbar) < 0)
+ if (!isendwin())
+ {
+ mutt_progress_init (&progressbar, _("Fetching message..."),
+ M_PROGRESS_SIZE, NetInc, bytes);
+ pbar = &progressbar;
+ }
+ else
+ pbar = NULL;
+ if (imap_read_literal (msg->fp, idata, bytes, pbar) < 0)
goto bail;
/* pick up trailing line */
if ((rc = imap_cmd_step (idata)) != IMAP_CMD_CONTINUE)
|