--- alpine/mailcmd.c | 3 +++ pith/conf.c | 2 ++ pith/conftype.h | 1 + pith/pine.hlp | 35 +++++++++++++++++++++++++++++++++++ pith/save.c | 1 + 5 files changed, 42 insertions(+) Index: alpine-2.11/alpine/mailcmd.c =================================================================== --- alpine-2.11.orig/alpine/mailcmd.c +++ alpine-2.11/alpine/mailcmd.c @@ -3368,6 +3368,9 @@ save_size_changed_prompt(long msgno, int {-1, 0, NULL, NULL} }; + if(F_ON(F_IGNORE_SIZE, ps_global)) + return 'y'; + if(flags & SSCP_INIT || flags & SSCP_END){ if(flags & SSCP_END && possible_corruption) q_status_message(SM_ORDER, 3, 3, "There is possible data corruption, check the results"); Index: alpine-2.11/pith/conf.c =================================================================== --- alpine-2.11.orig/pith/conf.c +++ alpine-2.11/pith/conf.c @@ -3123,6 +3123,8 @@ feature_list(int index) F_FULL_AUTO_EXPUNGE, h_config_full_auto_expunge, PREF_MISC, 0}, {"force-arrow-cursor", NULL, F_FORCE_ARROW, h_config_force_arrow, PREF_MISC, 0}, + {"ignore-size-changes", NULL, + F_IGNORE_SIZE, h_config_ignore_size, PREF_MISC, 0}, {"maildrops-preserve-state", NULL, F_MAILDROPS_PRESERVE_STATE, h_config_maildrops_preserve_state, PREF_MISC, 0}, Index: alpine-2.11/pith/conftype.h =================================================================== --- alpine-2.11.orig/pith/conftype.h +++ alpine-2.11/pith/conftype.h @@ -346,6 +346,7 @@ typedef enum { F_FORCE_ARROW, F_PRUNE_USES_ISO, F_ALT_ED_NOW, + F_IGNORE_SIZE, F_SHOW_DELAY_CUE, F_CANCEL_CONFIRM, F_AUTO_OPEN_NEXT_UNREAD, Index: alpine-2.11/pith/pine.hlp =================================================================== --- alpine-2.11.orig/pith/pine.hlp +++ alpine-2.11/pith/pine.hlp @@ -3296,6 +3296,7 @@ There are also additional details on
  • FEATURE:
  • FEATURE:
  • FEATURE: +
  • FEATURE:
  • FEATURE:
  • FEATURE:
  • FEATURE: @@ -30787,6 +30788,40 @@ but that is not implemented.

    <End of help on this topic> + + +====== h_config_ignore_size ===== + + +FEATURE: <!--#echo var="FEAT_ignore-size-changes"--> + + +

    FEATURE:

    + +When you have an account residing in an IMAP server, Alpine gets the size of +each message from the server. However, when Alpine saves a message residing +in an IMAP server, Alpine computes the size of the message independently. If +these two numbers do not match for a message, Alpine asks you if you still +want to take the risk of saving the message, since data corruption or loss +of data could result of this save. + +

    +Sometimes the root of this problem is that the server is defective, and +there will not be loss of information when saving such message. Enabling +this feature will make Aline ignore such error and continue saving the +message. If you can determine that this is the case, enable this feature +so that the saving operation will succeed. An example of a defective server +is the Gmail IMAP server. Another example is some versions of the Exchange +server. + +

    +It is recommended that this feature be disabled most of the time and only +enabled when you find a server which you can determine that has the above +mentioned defect, but be disabled again after making this operation +succeed. + +

    +<End of help on this topic> ====== h_config_force_low_speed ===== Index: alpine-2.11/pith/save.c =================================================================== --- alpine-2.11.orig/pith/save.c +++ alpine-2.11/pith/save.c @@ -1157,6 +1157,7 @@ long save_fetch_append_cb(MAILSTREAM *st snprintf(buf, sizeof(buf), "Message to save shrank: source msg # %ld may be saved incorrectly", mn_raw2m(pkg->msgmap, raw)); + if(F_OFF(F_IGNORE_SIZE, ps_global)) q_status_message(SM_ORDER, 0, 3, buf); } else{