Updating link to change in openSUSE:Factory/alpine revision 38.0
OBS-URL: https://build.opensuse.org/package/show/server:mail/alpine?expand=0&rev=0df79cc66d158318ac0ab6fbb1c8a0df
This commit is contained in:
parent
88dc714163
commit
7bdde85c8b
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fecc9ca5df03e0f368edec65cd61444325157b5635b5c92380cedf9c4ce8fbf6
|
||||
size 4403188
|
3
alpine-2.20.tar.xz
Normal file
3
alpine-2.20.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ed639b6e5bb97e6b0645c85262ca6a784316195d461ce8d8411999bf80449227
|
||||
size 4841816
|
@ -3,11 +3,11 @@
|
||||
pith/send.c | 1 +
|
||||
2 files changed, 13 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
||||
Index: alpine-2.20/imap/src/osdep/unix/dummy.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/imap/src/osdep/unix/dummy.c
|
||||
+++ alpine-2.11/imap/src/osdep/unix/dummy.c
|
||||
@@ -736,6 +736,17 @@ long dummy_copy (MAILSTREAM *stream,char
|
||||
--- alpine-2.20.orig/imap/src/osdep/unix/dummy.c
|
||||
+++ alpine-2.20/imap/src/osdep/unix/dummy.c
|
||||
@@ -734,6 +734,17 @@ long dummy_copy (MAILSTREAM *stream,char
|
||||
return NIL;
|
||||
}
|
||||
|
||||
@ -25,7 +25,7 @@ Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
||||
|
||||
/* Dummy append message string
|
||||
* Accepts: mail stream
|
||||
@@ -755,8 +766,7 @@ long dummy_append (MAILSTREAM *stream,ch
|
||||
@@ -753,8 +764,7 @@ long dummy_append (MAILSTREAM *stream,ch
|
||||
/* append to INBOX? */
|
||||
if (!compare_cstring (mailbox,"INBOX")) {
|
||||
/* yes, if no empty proto try creating */
|
||||
@ -35,12 +35,12 @@ Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
||||
}
|
||||
else if (dummy_file (tmp,mailbox) && ((fd = open (tmp,O_RDONLY,NIL)) < 0)) {
|
||||
if ((e = errno) == ENOENT) /* failed, was it no such file? */
|
||||
Index: alpine-2.11/pith/send.c
|
||||
Index: alpine-2.20/pith/send.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/send.c
|
||||
+++ alpine-2.11/pith/send.c
|
||||
@@ -1570,6 +1570,7 @@ set_priority_header(METAENV *header, cha
|
||||
pf->textbuf = cpystr(value);
|
||||
--- alpine-2.20.orig/pith/send.c
|
||||
+++ alpine-2.20/pith/send.c
|
||||
@@ -4159,6 +4159,7 @@ set_parameter(PARAMETER **param, char *p
|
||||
pm->value = cpystr(new_value);
|
||||
}
|
||||
}
|
||||
+ return 0;
|
||||
|
@ -1,36 +0,0 @@
|
||||
--- alpine-2.11/pith/send.c 2013-08-15 06:36:22.000000000 +0200
|
||||
+++ alpine-2.19.4/pith/send.c 2013-12-27 20:23:54.000000000 +0100
|
||||
@@ -4419,6 +4423,17 @@
|
||||
return(1);
|
||||
}
|
||||
|
||||
+char *
|
||||
+ToLower(char *s, char *t)
|
||||
+{
|
||||
+ int i;
|
||||
+
|
||||
+ for(i = 0; s != NULL && s[i] != '\0'; i++)
|
||||
+ t[i] = s[i] + ((s[i] >= 'A' && s[i] <= 'Z') ? ('a' - 'A') : 0);
|
||||
+ t[i] = '\0';
|
||||
+
|
||||
+ return t;
|
||||
+}
|
||||
|
||||
/*
|
||||
* pine_write_body_header - another c-client clone. This time
|
||||
@@ -4441,11 +4456,11 @@
|
||||
|
||||
if((so = so_get(CharStar, NULL, WRITE_ACCESS)) != NULL){
|
||||
if(!(so_puts(so, "Content-Type: ")
|
||||
- && so_puts(so, body_types[body->type])
|
||||
+ && so_puts(so, ToLower(body_types[body->type], tmp))
|
||||
&& so_puts(so, "/")
|
||||
- && so_puts(so, body->subtype
|
||||
- ? body->subtype
|
||||
- : rfc822_default_subtype (body->type))))
|
||||
+ && so_puts(so, ToLower(body->subtype
|
||||
+ ? body->subtype
|
||||
+ : rfc822_default_subtype (body->type),tmp))))
|
||||
return(pwbh_finish(0, so));
|
||||
|
||||
if(body->parameter){
|
@ -1,49 +0,0 @@
|
||||
---
|
||||
pith/string.c | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
Index: alpine-2.11/pith/string.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/string.c
|
||||
+++ alpine-2.11/pith/string.c
|
||||
@@ -770,6 +770,7 @@ month_abbrev_locale(int month_num)
|
||||
return("xxx");
|
||||
else{
|
||||
static char buf[20];
|
||||
+ char *utf8buf;
|
||||
struct tm tm;
|
||||
|
||||
memset(&tm, 0, sizeof(tm));
|
||||
@@ -811,6 +812,12 @@ month_abbrev_locale(int month_num)
|
||||
|
||||
buf[0] = ' ';
|
||||
}
|
||||
+ utf8buf = convert_to_utf8(buf, NULL, 0);
|
||||
+ if (utf8buf != NULL) {
|
||||
+ strncpy(buf, utf8buf, sizeof(buf));
|
||||
+ buf[sizeof(buf)-1] = '\0';
|
||||
+ fs_give((void **)&utf8buf);
|
||||
+ }
|
||||
|
||||
return(buf);
|
||||
}
|
||||
@@ -842,12 +849,19 @@ month_name_locale(int month_num)
|
||||
return("");
|
||||
else{
|
||||
static char buf[20];
|
||||
+ char *utf8buf;
|
||||
struct tm tm;
|
||||
|
||||
memset(&tm, 0, sizeof(tm));
|
||||
tm.tm_year = 107;
|
||||
tm.tm_mon = month_num-1;
|
||||
our_strftime(buf, sizeof(buf), "%B", &tm);
|
||||
+ utf8buf = convert_to_utf8(buf, NULL, 0);
|
||||
+ if (utf8buf != NULL) {
|
||||
+ strncpy(buf, utf8buf, sizeof(buf));
|
||||
+ buf[sizeof(buf)-1] = '\0';
|
||||
+ fs_give((void **)&utf8buf);
|
||||
+ }
|
||||
return(buf);
|
||||
}
|
||||
}
|
@ -1,3 +1,51 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Mar 25 16:59:29 UTC 2015 - jengelh@inai.de
|
||||
|
||||
- Update to new upstream release 2.20
|
||||
* Upgrade UW-IMAP to Panda IMAP from github.com/jonabbey/panda-imap
|
||||
* S/MIME: Add screen to manage certificates.
|
||||
* S/MIME: Signatures are validated using the user's certificates
|
||||
instead of the ones included in the message. Behavior can be
|
||||
disabled by disabling the option "Validate Using Certificate
|
||||
Store Only" which is enabled by default.
|
||||
* S/MIME: add the sender certificate to the list of certificates
|
||||
in encrypted messages to make it possible for the sender to
|
||||
decrypt the message they sent.
|
||||
* S/MIME: Forwarding a message will include the signed part as part
|
||||
of the text and not as a multipart message, just as the reply
|
||||
command does.
|
||||
* Add support to selective expunge through a subcommand of the
|
||||
select-apply commands.
|
||||
* Pico: New subcommand of the search command, allows to reverse the
|
||||
direction of search.
|
||||
* Add /tls1, /tls1_1, /tls1_2 and /dtls1 to the definition of a
|
||||
server to use different ways to connect using ssl, for example
|
||||
{server.com/tls1} will attempt to connect to server.com at the
|
||||
ssl imap port (port 993) and establish a connection using TLSv1.
|
||||
These flags can be used in conjunction with the /ssl flag, the
|
||||
ssl flag is redundant. Conversely, however, the /ssl flag does
|
||||
not imply any of these flags; the /ssl flag means SSLv3 or, if
|
||||
not available, SSLv2 in the SSL port.
|
||||
* Alpine does not attempt to automatically reopen a collection that
|
||||
was not opened due to cancellation by the user. Instead, the user
|
||||
must try to open it explicitly.
|
||||
* Experimental: Write the content-type of a message in lowercase,
|
||||
as some non-compliant servers do not understand uppercase
|
||||
content-type.
|
||||
* Opening a folder updates recent count in maildrops (this
|
||||
already works for other types of folders)
|
||||
* Pico: Justification works without need of a predefined quote
|
||||
string. This allows justification of blocks of text that are
|
||||
indented with spaces.
|
||||
* Decode the name of attachment names, so they can be written as
|
||||
part of the description of the part.
|
||||
* Replace tabs by spaces in From and Subject fields to control for
|
||||
size in screen of these fields. Change only in index screen
|
||||
display.
|
||||
- Drop alpine-month_name-utf8.patch (solved differently upstream),
|
||||
drop alpine-mime-type-workaround.patch (merged upstream)
|
||||
- Add lint.diff to workaround new source code problems
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 3 11:54:13 UTC 2014 - jengelh@inai.de
|
||||
|
||||
|
18
alpine.spec
18
alpine.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package alpine
|
||||
#
|
||||
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -22,11 +22,13 @@ Name: alpine
|
||||
Summary: Mail User Agent
|
||||
License: Apache-2.0
|
||||
Group: Productivity/Networking/Email/Clients
|
||||
Version: 2.11
|
||||
Version: 2.20
|
||||
Release: 0
|
||||
Url: http://patches.freeiz.com/alpine/
|
||||
|
||||
Source: http://patches.freeiz.com/alpine/release/src/%name-%version.tar.xz
|
||||
# direct download does not work for openSUSE:Factory
|
||||
# Source: http://patches.freeiz.com/alpine/release/src/%name-%version.tar.xz
|
||||
Source: %name-%version.tar.xz
|
||||
Source1: %name.png
|
||||
Source2: %name.desktop
|
||||
Patch1: pine-nonvoid-function.patch
|
||||
@ -34,12 +36,11 @@ Patch2: make-use-of-strncat-safer.diff
|
||||
Patch3: operation-may-be-undefined-warning.diff
|
||||
Patch4: fix-implicit.patch
|
||||
Patch5: alpine-gcc44.diff
|
||||
Patch7: alpine-month_name-utf8.patch
|
||||
Patch10: pico-fix-spurious-undef-warnings.diff
|
||||
Patch20: pine-expression-warnings.diff
|
||||
Patch40: pico-stripwhitespace.diff
|
||||
Patch60: signal-and-panic-improvements.diff
|
||||
Patch61: alpine-mime-type-workaround.patch
|
||||
Patch61: lint.diff
|
||||
#
|
||||
# Eduardo Chappa's patches.
|
||||
# http://patches.freeiz.com/alpine/
|
||||
@ -64,8 +65,8 @@ BuildRequires: openssl-devel
|
||||
BuildRequires: pam-devel
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: xz
|
||||
# pgp4pine requires pine:
|
||||
Provides: pine
|
||||
# pgp4pine requires pine: (6.20 is what alpine writes to ~/.pinerc)
|
||||
Provides: pine = 6.20
|
||||
Obsoletes: pine4
|
||||
Provides: pine4
|
||||
|
||||
@ -134,7 +135,6 @@ fi
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch7 -p1
|
||||
%patch10 -p1
|
||||
%patch20 -p1
|
||||
%patch40 -p1
|
||||
@ -275,7 +275,7 @@ fi
|
||||
%doc %{_mandir}/man1/rpload.*
|
||||
%doc %{_mandir}/man1/mailutil.*
|
||||
%doc README NOTICE LICENSE
|
||||
%doc doc/mailcap.unx doc/mime.types doc/tech-notes.txt doc/tech-notes/*.html
|
||||
%doc doc/mailcap.unx doc/mime.types doc/tech-notes/tech-notes.txt doc/tech-notes/*.html
|
||||
%{_bindir}/*pine
|
||||
%{_bindir}/alpinef
|
||||
%{_bindir}/rp*
|
||||
|
@ -8,11 +8,11 @@
|
||||
pico/search.c | 6 -
|
||||
7 files changed, 214 insertions(+), 8 deletions(-)
|
||||
|
||||
Index: alpine-2.11/pico/basic.c
|
||||
Index: alpine-2.20/pico/basic.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pico/basic.c
|
||||
+++ alpine-2.11/pico/basic.c
|
||||
@@ -344,6 +344,189 @@ gotobop(int f, int n)
|
||||
--- alpine-2.20.orig/pico/basic.c
|
||||
+++ alpine-2.20/pico/basic.c
|
||||
@@ -342,6 +342,189 @@ gotobop(int f, int n)
|
||||
return(TRUE);
|
||||
}
|
||||
|
||||
@ -202,10 +202,10 @@ Index: alpine-2.11/pico/basic.c
|
||||
|
||||
/*
|
||||
* go forword to the end of the current paragraph
|
||||
Index: alpine-2.11/pico/composer.c
|
||||
Index: alpine-2.20/pico/composer.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pico/composer.c
|
||||
+++ alpine-2.11/pico/composer.c
|
||||
--- alpine-2.20.orig/pico/composer.c
|
||||
+++ alpine-2.20/pico/composer.c
|
||||
@@ -2015,7 +2015,7 @@ LineEdit(int allowedit, UCS *lastch)
|
||||
tbufp = &strng[ods.p_len];
|
||||
|
||||
@ -229,10 +229,10 @@ Index: alpine-2.11/pico/composer.c
|
||||
case (CTRL|KEY_LEFT): /* word skip left */
|
||||
if(ods.p_ind > 0) /* Scoot one char left if possible */
|
||||
ods.p_ind--;
|
||||
Index: alpine-2.11/pico/display.c
|
||||
Index: alpine-2.20/pico/display.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pico/display.c
|
||||
+++ alpine-2.11/pico/display.c
|
||||
--- alpine-2.20.orig/pico/display.c
|
||||
+++ alpine-2.20/pico/display.c
|
||||
@@ -1751,6 +1751,11 @@ mlreplyd(UCS *prompt, UCS *buf, int nbuf
|
||||
b = &buf[ucs4_strlen(buf)];
|
||||
continue;
|
||||
@ -254,10 +254,10 @@ Index: alpine-2.11/pico/display.c
|
||||
/* look for match in extra_v */
|
||||
for(i = 0; i < 12; i++)
|
||||
if(c && c == extra_v[i]){
|
||||
Index: alpine-2.11/pico/ebind.h
|
||||
Index: alpine-2.20/pico/ebind.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pico/ebind.h
|
||||
+++ alpine-2.11/pico/ebind.h
|
||||
--- alpine-2.20.orig/pico/ebind.h
|
||||
+++ alpine-2.20/pico/ebind.h
|
||||
@@ -61,7 +61,7 @@ KEYTAB keytab[NBINDS] = {
|
||||
#ifdef MOUSE
|
||||
{KEY_MOUSE, mousepress},
|
||||
@ -287,10 +287,10 @@ Index: alpine-2.11/pico/ebind.h
|
||||
#endif
|
||||
#endif
|
||||
{CTRL|'A', gotobol},
|
||||
Index: alpine-2.11/pico/efunc.h
|
||||
Index: alpine-2.20/pico/efunc.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pico/efunc.h
|
||||
+++ alpine-2.11/pico/efunc.h
|
||||
--- alpine-2.20.orig/pico/efunc.h
|
||||
+++ alpine-2.20/pico/efunc.h
|
||||
@@ -54,6 +54,9 @@ extern int forwline(int, int);
|
||||
extern int backline(int, int);
|
||||
extern int gotobop(int, int);
|
||||
@ -301,10 +301,10 @@ Index: alpine-2.11/pico/efunc.h
|
||||
extern int forwpage(int, int);
|
||||
extern int backpage(int, int);
|
||||
extern int scrollupline(int, int);
|
||||
Index: alpine-2.11/pico/main.c
|
||||
Index: alpine-2.20/pico/main.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pico/main.c
|
||||
+++ alpine-2.11/pico/main.c
|
||||
--- alpine-2.20.orig/pico/main.c
|
||||
+++ alpine-2.20/pico/main.c
|
||||
@@ -416,6 +416,12 @@ main(int argc, char *argv[])
|
||||
emlwrite(_("You may possibly have new mail."), NULL);
|
||||
}
|
||||
@ -318,21 +318,21 @@ Index: alpine-2.11/pico/main.c
|
||||
if(km_popped)
|
||||
switch(c){
|
||||
case NODATA:
|
||||
Index: alpine-2.11/pico/search.c
|
||||
Index: alpine-2.20/pico/search.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pico/search.c
|
||||
+++ alpine-2.11/pico/search.c
|
||||
@@ -278,7 +278,7 @@ forwsearch(int f, int n)
|
||||
--- alpine-2.20.orig/pico/search.c
|
||||
+++ alpine-2.20/pico/search.c
|
||||
@@ -291,7 +291,7 @@ forwsearch(int f, int n)
|
||||
}
|
||||
|
||||
if(status + curwp->w_doto >= llength(curwp->w_dotp) ||
|
||||
- !eq(defpat[status],lgetc(curwp->w_dotp, curwp->w_doto + status).c))
|
||||
+ !eq((unsigned char)defpat[status],lgetc(curwp->w_dotp, curwp->w_doto + status).c))
|
||||
break; /* do nothing! */
|
||||
+ !eq((unsigned char) defpat[status],lgetc(curwp->w_dotp, curwp->w_doto + status).c))
|
||||
break;
|
||||
status++;
|
||||
}
|
||||
@@ -931,7 +931,7 @@ forscan(int *wrapt, /* boolean indicatin
|
||||
c = lgetc(curline, curoff++).c; /* get the char */
|
||||
@@ -1096,7 +1096,7 @@ forscan(int *wrapt, /* boolean indicatin
|
||||
c = lgetc(curline, curoff++).c; /* get the char */
|
||||
|
||||
/* test it against first char in pattern */
|
||||
- if (eq(c, patrn[0]) != FALSE) { /* if we find it..*/
|
||||
@ -340,7 +340,7 @@ Index: alpine-2.11/pico/search.c
|
||||
/* setup match pointers */
|
||||
matchline = curline;
|
||||
matchoff = curoff;
|
||||
@@ -952,7 +952,7 @@ forscan(int *wrapt, /* boolean indicatin
|
||||
@@ -1117,7 +1117,7 @@ forscan(int *wrapt, /* boolean indicatin
|
||||
return(FALSE);
|
||||
|
||||
/* and test it against the pattern */
|
||||
|
@ -11,11 +11,11 @@
|
||||
pith/text.c | 9 ++
|
||||
10 files changed, 308 insertions(+)
|
||||
|
||||
Index: alpine-2.11/alpine/confscroll.c
|
||||
Index: alpine-2.20/alpine/confscroll.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/confscroll.c
|
||||
+++ alpine-2.11/alpine/confscroll.c
|
||||
@@ -5183,6 +5183,9 @@ fix_side_effects(struct pine *ps, struct
|
||||
--- alpine-2.20.orig/alpine/confscroll.c
|
||||
+++ alpine-2.20/alpine/confscroll.c
|
||||
@@ -5196,6 +5196,9 @@ fix_side_effects(struct pine *ps, struct
|
||||
|
||||
clear_index_cache(ps->mail_stream, 0);
|
||||
}
|
||||
@ -25,10 +25,10 @@ Index: alpine-2.11/alpine/confscroll.c
|
||||
else if(var == &ps->vars[V_INIT_CMD_LIST]){
|
||||
if(!revert)
|
||||
q_status_message(SM_ASYNC, 0, 3,
|
||||
Index: alpine-2.11/pith/conf.c
|
||||
Index: alpine-2.20/pith/conf.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/conf.c
|
||||
+++ alpine-2.11/pith/conf.c
|
||||
--- alpine-2.20.orig/pith/conf.c
|
||||
+++ alpine-2.20/pith/conf.c
|
||||
@@ -228,6 +228,8 @@ CONF_TXT_T cf_text_deadlets[] = "Specif
|
||||
|
||||
CONF_TXT_T cf_text_fillcol[] = "Specifies the column of the screen where the composer should wrap.";
|
||||
@ -38,7 +38,7 @@ Index: alpine-2.11/pith/conf.c
|
||||
CONF_TXT_T cf_text_replystr[] = "Specifies the string to insert when replying to a message.";
|
||||
|
||||
CONF_TXT_T cf_text_quotereplstr[] = "Specifies the string to replace quotes with when viewing a message.";
|
||||
@@ -560,6 +562,8 @@ static struct variable variables[] = {
|
||||
@@ -562,6 +564,8 @@ static struct variable variables[] = {
|
||||
NULL, cf_text_speller},
|
||||
{"composer-wrap-column", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
||||
NULL, cf_text_fillcol},
|
||||
@ -47,7 +47,7 @@ Index: alpine-2.11/pith/conf.c
|
||||
{"reply-indent-string", 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0,
|
||||
NULL, cf_text_replystr},
|
||||
{"reply-leadin", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
||||
@@ -817,6 +821,8 @@ static struct variable variables[] = {
|
||||
@@ -821,6 +825,8 @@ static struct variable variables[] = {
|
||||
{"incoming-unseen-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
||||
{"signature-foreground-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
||||
{"signature-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
||||
@ -56,7 +56,7 @@ Index: alpine-2.11/pith/conf.c
|
||||
{"prompt-foreground-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
||||
{"prompt-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
||||
{"header-general-foreground-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
|
||||
@@ -1985,6 +1991,8 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||
@@ -1990,6 +1996,8 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||
set_current_val(&vars[V_FORM_FOLDER], TRUE, TRUE);
|
||||
set_current_val(&vars[V_EDITOR], TRUE, TRUE);
|
||||
set_current_val(&vars[V_SPELLER], TRUE, TRUE);
|
||||
@ -65,7 +65,7 @@ Index: alpine-2.11/pith/conf.c
|
||||
set_current_val(&vars[V_IMAGE_VIEWER], TRUE, TRUE);
|
||||
set_current_val(&vars[V_BROWSER], TRUE, TRUE);
|
||||
set_current_val(&vars[V_SMTP_SERVER], TRUE, TRUE);
|
||||
@@ -6483,6 +6491,7 @@ set_current_color_vals(struct pine *ps)
|
||||
@@ -6549,6 +6557,7 @@ set_current_color_vals(struct pine *ps)
|
||||
set_color_val(&vars[V_IND_OP_FORE_COLOR], 0);
|
||||
set_color_val(&vars[V_INCUNSEEN_FORE_COLOR], 0);
|
||||
set_color_val(&vars[V_SIGNATURE_FORE_COLOR], 0);
|
||||
@ -73,7 +73,7 @@ Index: alpine-2.11/pith/conf.c
|
||||
|
||||
set_current_val(&ps->vars[V_INDEX_TOKEN_COLORS], TRUE, TRUE);
|
||||
set_current_val(&ps->vars[V_VIEW_HDR_COLORS], TRUE, TRUE);
|
||||
@@ -7664,6 +7673,8 @@ config_help(int var, int feature)
|
||||
@@ -7732,6 +7741,8 @@ config_help(int var, int feature)
|
||||
return(h_config_scroll_margin);
|
||||
case V_DEADLETS :
|
||||
return(h_config_deadlets);
|
||||
@ -82,7 +82,7 @@ Index: alpine-2.11/pith/conf.c
|
||||
case V_FILLCOL :
|
||||
return(h_config_composer_wrap_column);
|
||||
case V_TCPOPENTIMEO :
|
||||
@@ -7829,6 +7840,9 @@ config_help(int var, int feature)
|
||||
@@ -7897,6 +7908,9 @@ config_help(int var, int feature)
|
||||
case V_SIGNATURE_FORE_COLOR :
|
||||
case V_SIGNATURE_BACK_COLOR :
|
||||
return(h_config_signature_color);
|
||||
@ -92,10 +92,10 @@ Index: alpine-2.11/pith/conf.c
|
||||
case V_PROMPT_FORE_COLOR :
|
||||
case V_PROMPT_BACK_COLOR :
|
||||
return(h_config_prompt_color);
|
||||
Index: alpine-2.11/pith/conf.h
|
||||
Index: alpine-2.20/pith/conf.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/conf.h
|
||||
+++ alpine-2.11/pith/conf.h
|
||||
--- alpine-2.20.orig/pith/conf.h
|
||||
+++ alpine-2.20/pith/conf.h
|
||||
@@ -161,6 +161,8 @@
|
||||
#define GLO_EDITOR vars[V_EDITOR].global_val.l
|
||||
#define VAR_SPELLER vars[V_SPELLER].current_val.p
|
||||
@ -105,7 +105,7 @@ Index: alpine-2.11/pith/conf.h
|
||||
#define VAR_FILLCOL vars[V_FILLCOL].current_val.p
|
||||
#define GLO_FILLCOL vars[V_FILLCOL].global_val.p
|
||||
#define VAR_DEADLETS vars[V_DEADLETS].current_val.p
|
||||
@@ -456,6 +458,8 @@
|
||||
@@ -458,6 +460,8 @@
|
||||
#define GLO_SIGNATURE_FORE_COLOR vars[V_SIGNATURE_FORE_COLOR].global_val.p
|
||||
#define VAR_SIGNATURE_BACK_COLOR vars[V_SIGNATURE_BACK_COLOR].current_val.p
|
||||
#define GLO_SIGNATURE_BACK_COLOR vars[V_SIGNATURE_BACK_COLOR].global_val.p
|
||||
@ -114,10 +114,10 @@ Index: alpine-2.11/pith/conf.h
|
||||
#define VAR_PROMPT_FORE_COLOR vars[V_PROMPT_FORE_COLOR].current_val.p
|
||||
#define VAR_PROMPT_BACK_COLOR vars[V_PROMPT_BACK_COLOR].current_val.p
|
||||
#define VAR_VIEW_HDR_COLORS vars[V_VIEW_HDR_COLORS].current_val.l
|
||||
Index: alpine-2.11/pith/conftype.h
|
||||
Index: alpine-2.20/pith/conftype.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/conftype.h
|
||||
+++ alpine-2.11/pith/conftype.h
|
||||
--- alpine-2.20.orig/pith/conftype.h
|
||||
+++ alpine-2.20/pith/conftype.h
|
||||
@@ -80,6 +80,7 @@ typedef enum { V_PERSONAL_NAME = 0
|
||||
, V_EDITOR
|
||||
, V_SPELLER
|
||||
@ -126,7 +126,7 @@ Index: alpine-2.11/pith/conftype.h
|
||||
, V_REPLY_STRING
|
||||
, V_REPLY_INTRO
|
||||
, V_QUOTE_REPLACE_STRING
|
||||
@@ -230,6 +231,8 @@ typedef enum { V_PERSONAL_NAME = 0
|
||||
@@ -231,6 +232,8 @@ typedef enum { V_PERSONAL_NAME = 0
|
||||
, V_INCUNSEEN_BACK_COLOR
|
||||
, V_SIGNATURE_FORE_COLOR
|
||||
, V_SIGNATURE_BACK_COLOR
|
||||
@ -135,10 +135,10 @@ Index: alpine-2.11/pith/conftype.h
|
||||
, V_PROMPT_FORE_COLOR
|
||||
, V_PROMPT_BACK_COLOR
|
||||
, V_HEADER_GENERAL_FORE_COLOR
|
||||
Index: alpine-2.11/pith/mailview.c
|
||||
Index: alpine-2.20/pith/mailview.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/mailview.c
|
||||
+++ alpine-2.11/pith/mailview.c
|
||||
--- alpine-2.20.orig/pith/mailview.c
|
||||
+++ alpine-2.20/pith/mailview.c
|
||||
@@ -282,6 +282,14 @@ format_body(long int msgno, BODY *body,
|
||||
if((flgs & FM_DISPLAY)
|
||||
&& !(flgs & FM_NOCOLOR)
|
||||
@ -345,10 +345,10 @@ Index: alpine-2.11/pith/mailview.c
|
||||
|
||||
/*
|
||||
* The argument fieldname is something like "Subject:..." or "Subject".
|
||||
Index: alpine-2.11/pith/mailview.h
|
||||
Index: alpine-2.20/pith/mailview.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/mailview.h
|
||||
+++ alpine-2.11/pith/mailview.h
|
||||
--- alpine-2.20.orig/pith/mailview.h
|
||||
+++ alpine-2.20/pith/mailview.h
|
||||
@@ -30,6 +30,12 @@
|
||||
#include "../pith/color.h"
|
||||
|
||||
@ -378,11 +378,11 @@ Index: alpine-2.11/pith/mailview.h
|
||||
|
||||
/*
|
||||
* BUG: BELOW IS UNIX/PC ONLY since config'd browser means nothing to webpine
|
||||
Index: alpine-2.11/pith/pine.hlp
|
||||
Index: alpine-2.20/pith/pine.hlp
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/pine.hlp
|
||||
+++ alpine-2.11/pith/pine.hlp
|
||||
@@ -3563,6 +3563,7 @@ There are also additional details on
|
||||
--- alpine-2.20.orig/pith/pine.hlp
|
||||
+++ alpine-2.20/pith/pine.hlp
|
||||
@@ -3833,6 +3833,7 @@ There are also additional details on
|
||||
<li><a href="h_config_print_cat">OPTION: <!--#echo var="VAR_personal-print-category"--></a>
|
||||
<li><a href="h_config_print_command">OPTION: <!--#echo var="VAR_personal-print-command"--></a>
|
||||
<li><a href="h_config_post_char_set">OPTION: <!--#echo var="VAR_posting-character-set"--></a>
|
||||
@ -390,7 +390,7 @@ Index: alpine-2.11/pith/pine.hlp
|
||||
<li><a href="h_config_postponed_folder">OPTION: <!--#echo var="VAR_postponed-folder"--></a>
|
||||
<li><a href="h_config_print_font_char_set">OPTION: Print-Font-Char-Set</a>
|
||||
<li><a href="h_config_print_font_name">OPTION: Print-Font-Name</a>
|
||||
@@ -3591,6 +3592,7 @@ There are also additional details on
|
||||
@@ -3861,6 +3862,7 @@ There are also additional details on
|
||||
<li><a href="h_config_sending_filter">OPTION: <!--#echo var="VAR_sending-filters"--></a>
|
||||
<li><a href="h_config_sendmail_path">OPTION: <!--#echo var="VAR_sendmail-path"--></a>
|
||||
<li><a href="h_config_signature_color">OPTION: Signature Color</a>
|
||||
@ -398,7 +398,7 @@ Index: alpine-2.11/pith/pine.hlp
|
||||
<li><a href="h_config_signature_file">OPTION: <!--#echo var="VAR_signature-file"--></a>
|
||||
<li><a href="h_config_smtp_server">OPTION: <!--#echo var="VAR_smtp-server"--></a>
|
||||
<li><a href="h_config_sort_key">OPTION: <!--#echo var="VAR_sort-key"--></a>
|
||||
@@ -22838,6 +22840,43 @@ That won't work because spell works in a
|
||||
@@ -23234,6 +23236,43 @@ That won't work because spell works in a
|
||||
<End of help on this topic>
|
||||
</BODY>
|
||||
</HTML>
|
||||
@ -442,7 +442,7 @@ Index: alpine-2.11/pith/pine.hlp
|
||||
====== h_config_display_filters =====
|
||||
<HTML>
|
||||
<HEAD>
|
||||
@@ -31455,6 +31494,30 @@ the Quote3 Color is black characters on
|
||||
@@ -31851,6 +31890,30 @@ the Quote3 Color is black characters on
|
||||
<P>
|
||||
<A HREF="h_color_setup">Descriptions of the available commands</A>
|
||||
<P>
|
||||
@ -473,10 +473,10 @@ Index: alpine-2.11/pith/pine.hlp
|
||||
Look <A HREF="h_edit_nav_cmds">here</A>
|
||||
to see the available Editing and Navigation commands.
|
||||
<P>
|
||||
Index: alpine-2.11/pith/state.c
|
||||
Index: alpine-2.20/pith/state.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/state.c
|
||||
+++ alpine-2.11/pith/state.c
|
||||
--- alpine-2.20.orig/pith/state.c
|
||||
+++ alpine-2.20/pith/state.c
|
||||
@@ -131,6 +131,9 @@ free_pine_struct(struct pine **pps)
|
||||
if((*pps)->folders_dir != NULL)
|
||||
fs_give((void **)&(*pps)->folders_dir);
|
||||
@ -487,11 +487,11 @@ Index: alpine-2.11/pith/state.c
|
||||
if((*pps)->ui.homedir)
|
||||
fs_give((void **)&(*pps)->ui.homedir);
|
||||
|
||||
Index: alpine-2.11/pith/state.h
|
||||
Index: alpine-2.20/pith/state.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/state.h
|
||||
+++ alpine-2.11/pith/state.h
|
||||
@@ -326,6 +326,8 @@ struct pine {
|
||||
--- alpine-2.20.orig/pith/state.h
|
||||
+++ alpine-2.20/pith/state.h
|
||||
@@ -331,6 +331,8 @@ struct pine {
|
||||
char *display_charmap; /* needs to be freed */
|
||||
char *keyboard_charmap; /* needs to be freed */
|
||||
void *input_cs;
|
||||
@ -500,10 +500,10 @@ Index: alpine-2.11/pith/state.h
|
||||
|
||||
char *posting_charmap; /* needs to be freed */
|
||||
|
||||
Index: alpine-2.11/pith/text.c
|
||||
Index: alpine-2.20/pith/text.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/text.c
|
||||
+++ alpine-2.11/pith/text.c
|
||||
--- alpine-2.20.orig/pith/text.c
|
||||
+++ alpine-2.20/pith/text.c
|
||||
@@ -171,6 +171,15 @@ decode_text(ATTACH_S *att,
|
||||
gf_url_hilite_opt(&uh,handlesp,0));
|
||||
}
|
||||
|
@ -28,19 +28,19 @@
|
||||
web/src/alpined.d/alpined.c | 4
|
||||
27 files changed, 1870 insertions(+), 155 deletions(-)
|
||||
|
||||
Index: alpine-2.11/alpine/arg.c
|
||||
Index: alpine-2.20/alpine/arg.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/arg.c
|
||||
+++ alpine-2.11/alpine/arg.c
|
||||
@@ -60,6 +60,7 @@ static char args_err_missing_passfile[]
|
||||
static char args_err_non_abs_passfile[] = N_("argument to \"-passfile\" should be fully-qualified");
|
||||
--- alpine-2.20.orig/alpine/arg.c
|
||||
+++ alpine-2.20/alpine/arg.c
|
||||
@@ -64,6 +64,7 @@ static char args_err_non_abs_pwdcertdir[
|
||||
#endif /* SMIME inside PASSFILE */
|
||||
#endif
|
||||
static char args_err_missing_sort[] = N_("missing argument for option \"-sort\"");
|
||||
+static char args_err_missing_thread_sort[] = N_("missing argument for option \"-threadsort\"");
|
||||
static char args_err_missing_flag_arg[] = N_("missing argument for flag \"%c\"");
|
||||
static char args_err_missing_flag_num[] = N_("Non numeric argument for flag \"%c\"");
|
||||
static char args_err_missing_debug_num[] = N_("Non numeric argument for \"%s\"");
|
||||
@@ -103,6 +104,7 @@ N_(" -k \t\tKeys - Force use of function
|
||||
@@ -107,6 +108,7 @@ N_(" -k \t\tKeys - Force use of function
|
||||
N_(" -z \t\tSuspend - allow use of ^Z suspension"),
|
||||
N_(" -r \t\tRestricted - can only send mail to oneself"),
|
||||
N_(" -sort <sort>\tSort - Specify sort order of folder:"),
|
||||
@ -48,7 +48,7 @@ Index: alpine-2.11/alpine/arg.c
|
||||
N_("\t\t\tarrival, subject, threaded, orderedsubject, date,"),
|
||||
N_("\t\t\tfrom, size, score, to, cc, /reverse"),
|
||||
N_(" -i\t\tIndex - Go directly to index, bypassing main menu"),
|
||||
@@ -192,6 +194,7 @@ pine_args(struct pine *pine_state, int a
|
||||
@@ -200,6 +202,7 @@ pine_args(struct pine *pine_state, int a
|
||||
char *cmd_list = NULL;
|
||||
char *debug_str = NULL;
|
||||
char *sort = NULL;
|
||||
@ -56,7 +56,7 @@ Index: alpine-2.11/alpine/arg.c
|
||||
char *pinerc_file = NULL;
|
||||
char *lc = NULL;
|
||||
int do_help = 0;
|
||||
@@ -363,6 +366,17 @@ Loop: while(--ac > 0)
|
||||
@@ -396,6 +399,17 @@ Loop: while(--ac > 0)
|
||||
|
||||
goto Loop;
|
||||
}
|
||||
@ -74,10 +74,10 @@ Index: alpine-2.11/alpine/arg.c
|
||||
else if(strcmp(*av, "url") == 0){
|
||||
if(args->action == aaFolder && !args->data.folder){
|
||||
args->action = aaURL;
|
||||
Index: alpine-2.11/alpine/confscroll.c
|
||||
Index: alpine-2.20/alpine/confscroll.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/confscroll.c
|
||||
+++ alpine-2.11/alpine/confscroll.c
|
||||
--- alpine-2.20.orig/alpine/confscroll.c
|
||||
+++ alpine-2.20/alpine/confscroll.c
|
||||
@@ -139,7 +139,7 @@ char *yesno_pretty_value(struct pine
|
||||
char *radio_pretty_value(struct pine *, CONF_S *);
|
||||
char *sigfile_pretty_value(struct pine *, CONF_S *);
|
||||
@ -97,7 +97,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
||||
standard_radio_var(ps, (*cl)->var) ||
|
||||
(*cl)->var == startup_ptr)))
|
||||
return;
|
||||
@@ -2923,7 +2924,7 @@ radiobutton_tool(struct pine *ps, int cm
|
||||
@@ -2927,7 +2928,7 @@ radiobutton_tool(struct pine *ps, int cm
|
||||
}
|
||||
|
||||
set_current_val((*cl)->var, TRUE, TRUE);
|
||||
@ -106,7 +106,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
||||
ps->def_sort = def_sort;
|
||||
ps->def_sort_rev = def_sort_rev;
|
||||
}
|
||||
@@ -2932,6 +2933,37 @@ radiobutton_tool(struct pine *ps, int cm
|
||||
@@ -2936,6 +2937,37 @@ radiobutton_tool(struct pine *ps, int cm
|
||||
ps->mangled_body = 1; /* BUG: redraw it all for now? */
|
||||
rv = 1;
|
||||
}
|
||||
@ -144,7 +144,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
||||
else
|
||||
q_status_message(SM_ORDER | SM_DING, 3, 6,
|
||||
"Programmer botch! Unknown radiobutton type.");
|
||||
@@ -3794,7 +3826,9 @@ pretty_value(struct pine *ps, CONF_S *cl
|
||||
@@ -3799,7 +3831,9 @@ pretty_value(struct pine *ps, CONF_S *cl
|
||||
else if(standard_radio_var(ps, v) || v == startup_ptr)
|
||||
return(radio_pretty_value(ps, cl));
|
||||
else if(v == &ps->vars[V_SORT_KEY])
|
||||
@ -155,7 +155,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
||||
else if(v == &ps->vars[V_SIGNATURE_FILE])
|
||||
return(sigfile_pretty_value(ps, cl));
|
||||
else if(v == &ps->vars[V_USE_ONLY_DOMAIN_NAME])
|
||||
@@ -4325,14 +4359,14 @@ color_pretty_value(struct pine *ps, CONF
|
||||
@@ -4330,14 +4364,14 @@ color_pretty_value(struct pine *ps, CONF
|
||||
|
||||
|
||||
char *
|
||||
@ -173,7 +173,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
||||
{
|
||||
char tmp[6*MAXPATH];
|
||||
char *pvalnorm, *pvalexc, *pval;
|
||||
@@ -4382,7 +4416,7 @@ generalized_sort_pretty_value(struct pin
|
||||
@@ -4387,7 +4421,7 @@ generalized_sort_pretty_value(struct pin
|
||||
}
|
||||
else if(fixed){
|
||||
pval = v->fixed_val.p;
|
||||
@ -182,7 +182,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
||||
is_the_one = (var_sort_rev == line_sort_rev && var_sort == line_sort);
|
||||
|
||||
utf8_snprintf(tmp, sizeof(tmp), "(%c) %s%-*w%*s%s",
|
||||
@@ -4393,9 +4427,9 @@ generalized_sort_pretty_value(struct pin
|
||||
@@ -4398,9 +4432,9 @@ generalized_sort_pretty_value(struct pin
|
||||
is_the_one ? " (value is fixed)" : "");
|
||||
}
|
||||
else if(is_set_for_this_level){
|
||||
@ -194,7 +194,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
||||
the_exc_one = (editing_normal_which_isnt_except && pvalexc &&
|
||||
exc_sort_rev == line_sort_rev && exc_sort == line_sort);
|
||||
utf8_snprintf(tmp, sizeof(tmp), "(%c) %s%-*w%*s%s",
|
||||
@@ -4413,7 +4447,7 @@ generalized_sort_pretty_value(struct pin
|
||||
@@ -4418,7 +4452,7 @@ generalized_sort_pretty_value(struct pin
|
||||
}
|
||||
else{
|
||||
if(pvalexc){
|
||||
@ -203,7 +203,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
||||
is_the_one = (exc_sort_rev == line_sort_rev &&
|
||||
exc_sort == line_sort);
|
||||
utf8_snprintf(tmp, sizeof(tmp), "( ) %s%-*w%*s%s",
|
||||
@@ -4424,7 +4458,7 @@ generalized_sort_pretty_value(struct pin
|
||||
@@ -4429,7 +4463,7 @@ generalized_sort_pretty_value(struct pin
|
||||
}
|
||||
else{
|
||||
pval = v->current_val.p;
|
||||
@ -212,7 +212,7 @@ Index: alpine-2.11/alpine/confscroll.c
|
||||
is_the_one = ((pval || default_ok) &&
|
||||
var_sort_rev == line_sort_rev &&
|
||||
var_sort == line_sort);
|
||||
@@ -5548,9 +5582,15 @@ fix_side_effects(struct pine *ps, struct
|
||||
@@ -5571,9 +5605,15 @@ fix_side_effects(struct pine *ps, struct
|
||||
else if(revert && var == &ps->vars[V_SORT_KEY]){
|
||||
int def_sort_rev;
|
||||
|
||||
@ -229,10 +229,10 @@ Index: alpine-2.11/alpine/confscroll.c
|
||||
else if(var == &ps->vars[V_THREAD_MORE_CHAR] ||
|
||||
var == &ps->vars[V_THREAD_EXP_CHAR] ||
|
||||
var == &ps->vars[V_THREAD_LASTREPLY_CHAR]){
|
||||
Index: alpine-2.11/alpine/confscroll.h
|
||||
Index: alpine-2.20/alpine/confscroll.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/confscroll.h
|
||||
+++ alpine-2.11/alpine/confscroll.h
|
||||
--- alpine-2.20.orig/alpine/confscroll.h
|
||||
+++ alpine-2.20/alpine/confscroll.h
|
||||
@@ -95,7 +95,7 @@ int checkbox_tool(struct pine *, int, C
|
||||
int radiobutton_tool(struct pine *, int, CONF_S **, unsigned);
|
||||
int yesno_tool(struct pine *, int, CONF_S **, unsigned);
|
||||
@ -242,10 +242,10 @@ Index: alpine-2.11/alpine/confscroll.h
|
||||
int exclude_config_var(struct pine *, struct variable *, int);
|
||||
int config_exit_cmd(unsigned);
|
||||
int simple_exit_cmd(unsigned);
|
||||
Index: alpine-2.11/alpine/keymenu.c
|
||||
Index: alpine-2.20/alpine/keymenu.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/keymenu.c
|
||||
+++ alpine-2.11/alpine/keymenu.c
|
||||
--- alpine-2.20.orig/alpine/keymenu.c
|
||||
+++ alpine-2.20/alpine/keymenu.c
|
||||
@@ -650,10 +650,25 @@ struct key index_keys[] =
|
||||
RCOMPOSE_MENU,
|
||||
HOMEKEY_MENU,
|
||||
@ -319,10 +319,10 @@ Index: alpine-2.11/alpine/keymenu.c
|
||||
INST_KEY_MENU(view_keymenu, view_keys);
|
||||
|
||||
|
||||
Index: alpine-2.11/alpine/keymenu.h
|
||||
Index: alpine-2.20/alpine/keymenu.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/keymenu.h
|
||||
+++ alpine-2.11/alpine/keymenu.h
|
||||
--- alpine-2.20.orig/alpine/keymenu.h
|
||||
+++ alpine-2.20/alpine/keymenu.h
|
||||
@@ -215,6 +215,19 @@ struct key_menu {
|
||||
#define MC_DECRYPT 802
|
||||
#define MC_QUOTA 803
|
||||
@ -341,12 +341,12 @@ Index: alpine-2.11/alpine/keymenu.h
|
||||
+#define MC_CTHREAD 816
|
||||
+#define MC_OTHREAD 817
|
||||
|
||||
/*
|
||||
* Some standard Key/Command Bindings
|
||||
Index: alpine-2.11/alpine/mailcmd.c
|
||||
|
||||
/* Commands for S/MIME screens */
|
||||
Index: alpine-2.20/alpine/mailcmd.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/mailcmd.c
|
||||
+++ alpine-2.11/alpine/mailcmd.c
|
||||
--- alpine-2.20.orig/alpine/mailcmd.c
|
||||
+++ alpine-2.20/alpine/mailcmd.c
|
||||
@@ -113,7 +113,7 @@ int select_by_thread(MAILSTREAM *, MSG
|
||||
char *choose_a_rule(int);
|
||||
int select_by_keyword(MAILSTREAM *, SEARCHSET **);
|
||||
@ -355,8 +355,8 @@ Index: alpine-2.11/alpine/mailcmd.c
|
||||
+int select_sort(struct pine *, int, SortOrder *, int *, int);
|
||||
int print_index(struct pine *, MSGNO_S *, int);
|
||||
|
||||
|
||||
@@ -1335,7 +1335,7 @@ get_out:
|
||||
/*
|
||||
@@ -1371,7 +1371,7 @@ get_out:
|
||||
if(any_messages(msgmap, NULL, NULL)){
|
||||
if(any_lflagged(msgmap, MN_SLCT) > 0L){
|
||||
if(apply_command(state, stream, msgmap, 0,
|
||||
@ -365,7 +365,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
||||
if(F_ON(F_AUTO_UNSELECT, state)){
|
||||
agg_select_all(stream, msgmap, NULL, 0);
|
||||
unzoom_index(state, stream, msgmap);
|
||||
@@ -1353,23 +1353,35 @@ get_out:
|
||||
@@ -1389,23 +1389,35 @@ get_out:
|
||||
|
||||
/*-------- Sort command -------*/
|
||||
case MC_SORT :
|
||||
@ -403,7 +403,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
||||
}
|
||||
|
||||
state->mangled_footer = 1;
|
||||
@@ -3174,6 +3186,10 @@ cmd_expunge(struct pine *state, MAILSTRE
|
||||
@@ -3286,6 +3298,10 @@ cmd_expunge(struct pine *state, MAILSTRE
|
||||
if(SORT_IS_THREADED(msgmap))
|
||||
refresh_sort(stream, msgmap, SRT_NON);
|
||||
|
||||
@ -414,7 +414,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
||||
state->mangled_body = 1;
|
||||
state->mangled_header = 1;
|
||||
q_status_message2(SM_ORDER, 0, 4,
|
||||
@@ -3268,6 +3284,9 @@ cmd_expunge(struct pine *state, MAILSTRE
|
||||
@@ -3387,6 +3403,9 @@ cmd_expunge(struct pine *state, MAILSTRE
|
||||
*/
|
||||
if(SORT_IS_THREADED(msgmap))
|
||||
refresh_sort(stream, msgmap, SRT_NON);
|
||||
@ -423,8 +423,8 @@ Index: alpine-2.11/alpine/mailcmd.c
|
||||
+ kolapse_thread(state, stream, msgmap, '[', 0);
|
||||
}
|
||||
else{
|
||||
if(del_count)
|
||||
@@ -6945,7 +6964,7 @@ select_by_current(struct pine *state, MS
|
||||
if(del_count){
|
||||
@@ -7090,7 +7109,7 @@ select_by_current(struct pine *state, MS
|
||||
* Maybe it makes sense to zoom after a select but not after a colon
|
||||
* command even though they are very similar.
|
||||
*/
|
||||
@ -433,7 +433,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
||||
}
|
||||
else{
|
||||
if((all_selected =
|
||||
@@ -7001,7 +7020,7 @@ select_by_current(struct pine *state, MS
|
||||
@@ -7146,7 +7165,7 @@ select_by_current(struct pine *state, MS
|
||||
----*/
|
||||
int
|
||||
apply_command(struct pine *state, MAILSTREAM *stream, MSGNO_S *msgmap,
|
||||
@ -442,7 +442,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
||||
{
|
||||
int i = 8, /* number of static entries in sel_opts3 */
|
||||
rv = 0,
|
||||
@@ -7153,9 +7172,19 @@ apply_command(struct pine *state, MAILST
|
||||
@@ -7305,9 +7324,19 @@ apply_command(struct pine *state, MAILST
|
||||
collapse_or_expand(state, stream, msgmap,
|
||||
F_ON(F_SLASH_COLL_ENTIRE, ps_global)
|
||||
? 0L
|
||||
@ -463,7 +463,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
||||
case ':' :
|
||||
select_thread_stmp(state, stream, msgmap);
|
||||
break;
|
||||
@@ -9014,10 +9043,10 @@ Args: state -- pine state pointer
|
||||
@@ -9171,10 +9200,10 @@ Args: state -- pine state pointer
|
||||
Returns 0 if it was cancelled, 1 otherwise.
|
||||
----*/
|
||||
int
|
||||
@ -476,7 +476,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
||||
int deefault = 'a', retval = 1;
|
||||
HelpType help;
|
||||
ESCKEY_S sorts[14];
|
||||
@@ -9050,17 +9079,26 @@ select_sort(struct pine *state, int ql,
|
||||
@@ -9207,17 +9236,26 @@ select_sort(struct pine *state, int ql,
|
||||
strncpy(prompt, _("Choose type of sort, or 'R' to reverse current sort : "),
|
||||
sizeof(prompt));
|
||||
|
||||
@ -514,7 +514,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
||||
}
|
||||
|
||||
sorts[i].ch = 'r';
|
||||
@@ -9084,8 +9122,17 @@ select_sort(struct pine *state, int ql,
|
||||
@@ -9241,8 +9279,17 @@ select_sort(struct pine *state, int ql,
|
||||
state->mangled_body = 1; /* signal screen's changed */
|
||||
if(s == 'r')
|
||||
*rev = !mn_get_revsort(state->msgmap);
|
||||
@ -533,7 +533,7 @@ Index: alpine-2.11/alpine/mailcmd.c
|
||||
|
||||
if(F_ON(F_SHOW_SORT, ps_global))
|
||||
ps_global->mangled_header = 1;
|
||||
@@ -9470,3 +9517,378 @@ flag_submenu(mc)
|
||||
@@ -9627,3 +9674,378 @@ flag_submenu(mc)
|
||||
}
|
||||
|
||||
#endif /* _WINDOWS */
|
||||
@ -912,11 +912,11 @@ Index: alpine-2.11/alpine/mailcmd.c
|
||||
+ expand_thread(state, stream, msgmap, 0);
|
||||
+}
|
||||
+
|
||||
Index: alpine-2.11/alpine/mailcmd.h
|
||||
Index: alpine-2.20/alpine/mailcmd.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/mailcmd.h
|
||||
+++ alpine-2.11/alpine/mailcmd.h
|
||||
@@ -84,7 +84,7 @@ char *broach_folder(int, int, int *,
|
||||
--- alpine-2.20.orig/alpine/mailcmd.h
|
||||
+++ alpine-2.20/alpine/mailcmd.h
|
||||
@@ -87,7 +87,7 @@ char *broach_folder(int, int, int *,
|
||||
int ask_mailbox_reopen(struct pine *, int *);
|
||||
void visit_folder(struct pine *, char *, CONTEXT_S *, MAILSTREAM *, unsigned long);
|
||||
int select_by_current(struct pine *, MSGNO_S *, CmdWhere);
|
||||
@ -925,7 +925,7 @@ Index: alpine-2.11/alpine/mailcmd.h
|
||||
char **choose_list_of_keywords(void);
|
||||
char *choose_a_charset(int);
|
||||
char **choose_list_of_charsets(void);
|
||||
@@ -102,6 +102,15 @@ int any_selected_callback(int, long)
|
||||
@@ -105,6 +105,15 @@ int any_selected_callback(int, long)
|
||||
int flag_callback(int, long);
|
||||
MPopup *flag_submenu(MESSAGECACHE *);
|
||||
#endif
|
||||
@ -942,10 +942,10 @@ Index: alpine-2.11/alpine/mailcmd.h
|
||||
+int expand_this_thread(struct pine *, MAILSTREAM *, MSGNO_S *, int, int);
|
||||
|
||||
#endif /* PINE_MAILCMD_INCLUDED */
|
||||
Index: alpine-2.11/alpine/mailindx.c
|
||||
Index: alpine-2.20/alpine/mailindx.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/mailindx.c
|
||||
+++ alpine-2.11/alpine/mailindx.c
|
||||
--- alpine-2.20.orig/alpine/mailindx.c
|
||||
+++ alpine-2.20/alpine/mailindx.c
|
||||
@@ -561,6 +561,7 @@ index_lister(struct pine *state, CONTEXT
|
||||
|
||||
/*---------- Scroll line up ----------*/
|
||||
@ -1102,7 +1102,7 @@ Index: alpine-2.11/alpine/mailindx.c
|
||||
/* increment current */
|
||||
if(cmd == MC_DELETE){
|
||||
advance_cur_after_delete(state, stream, msgmap,
|
||||
@@ -2675,6 +2773,7 @@ top_ent_calc(MAILSTREAM *stream, MSGNO_S
|
||||
@@ -2673,6 +2771,7 @@ top_ent_calc(MAILSTREAM *stream, MSGNO_S
|
||||
n = mn_raw2m(msgs, thrd->rawno);
|
||||
|
||||
while(thrd){
|
||||
@ -1110,7 +1110,7 @@ Index: alpine-2.11/alpine/mailindx.c
|
||||
if(!msgline_hidden(stream, msgs, n, 0)
|
||||
&& (++m % lines_per_page) == 1L)
|
||||
t = n;
|
||||
@@ -2743,11 +2842,12 @@ top_ent_calc(MAILSTREAM *stream, MSGNO_S
|
||||
@@ -2741,11 +2840,12 @@ top_ent_calc(MAILSTREAM *stream, MSGNO_S
|
||||
|
||||
/* n is the end of this thread */
|
||||
while(thrd){
|
||||
@ -1127,7 +1127,7 @@ Index: alpine-2.11/alpine/mailindx.c
|
||||
else
|
||||
thrd = NULL;
|
||||
}
|
||||
@@ -2855,7 +2955,7 @@ warn_other_cmds(void)
|
||||
@@ -2853,7 +2953,7 @@ warn_other_cmds(void)
|
||||
|
||||
void
|
||||
thread_command(struct pine *state, MAILSTREAM *stream, MSGNO_S *msgmap,
|
||||
@ -1136,7 +1136,7 @@ Index: alpine-2.11/alpine/mailindx.c
|
||||
{
|
||||
PINETHRD_S *thrd = NULL;
|
||||
unsigned long rawno, save_branch;
|
||||
@@ -2904,7 +3004,7 @@ thread_command(struct pine *state, MAILS
|
||||
@@ -2902,7 +3002,7 @@ thread_command(struct pine *state, MAILS
|
||||
cancel_busy_cue(0);
|
||||
|
||||
(void ) apply_command(state, stream, msgmap, preloadkeystroke, flags,
|
||||
@ -1145,7 +1145,7 @@ Index: alpine-2.11/alpine/mailindx.c
|
||||
|
||||
/* restore the original flags */
|
||||
copy_lflags(stream, msgmap, MN_STMP, MN_SLCT);
|
||||
@@ -3398,7 +3498,7 @@ index_sort_callback(set, order)
|
||||
@@ -3396,7 +3496,7 @@ index_sort_callback(set, order)
|
||||
if(set){
|
||||
sort_folder(ps_global->mail_stream, ps_global->msgmap,
|
||||
order & 0x000000ff,
|
||||
@ -1154,10 +1154,10 @@ Index: alpine-2.11/alpine/mailindx.c
|
||||
mswin_beginupdate();
|
||||
update_titlebar_message();
|
||||
update_titlebar_status();
|
||||
Index: alpine-2.11/alpine/mailindx.h
|
||||
Index: alpine-2.20/alpine/mailindx.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/mailindx.h
|
||||
+++ alpine-2.11/alpine/mailindx.h
|
||||
--- alpine-2.20.orig/alpine/mailindx.h
|
||||
+++ alpine-2.20/alpine/mailindx.h
|
||||
@@ -103,7 +103,7 @@ int truncate_subj_and_from_strings(voi
|
||||
void paint_index_hline(MAILSTREAM *, long, ICE_S *);
|
||||
void setup_index_state(int);
|
||||
@ -1167,11 +1167,11 @@ Index: alpine-2.11/alpine/mailindx.h
|
||||
COLOR_PAIR *apply_rev_color(COLOR_PAIR *, int);
|
||||
#ifdef _WINDOWS
|
||||
int index_sort_callback(int, long);
|
||||
Index: alpine-2.11/alpine/mailview.c
|
||||
Index: alpine-2.20/alpine/mailview.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/mailview.c
|
||||
+++ alpine-2.11/alpine/mailview.c
|
||||
@@ -3364,6 +3364,52 @@ scrolltool(SCROLL_S *sparms)
|
||||
--- alpine-2.20.orig/alpine/mailview.c
|
||||
+++ alpine-2.20/alpine/mailview.c
|
||||
@@ -3369,6 +3369,52 @@ scrolltool(SCROLL_S *sparms)
|
||||
print_to_printer(sparms);
|
||||
break;
|
||||
|
||||
@ -1224,10 +1224,10 @@ Index: alpine-2.11/alpine/mailview.c
|
||||
|
||||
/* ------- First handle on Line ------ */
|
||||
case MC_GOTOBOL :
|
||||
Index: alpine-2.11/alpine/roleconf.c
|
||||
Index: alpine-2.20/alpine/roleconf.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/roleconf.c
|
||||
+++ alpine-2.11/alpine/roleconf.c
|
||||
--- alpine-2.20.orig/alpine/roleconf.c
|
||||
+++ alpine-2.20/alpine/roleconf.c
|
||||
@@ -4478,11 +4478,11 @@ role_config_edit_screen(struct pine *ps,
|
||||
ctmp->tool = role_sort_tool;
|
||||
ctmp->valoffset = rindent;
|
||||
@ -1269,10 +1269,10 @@ Index: alpine-2.11/alpine/roleconf.c
|
||||
(*result)->action->sort_is_set = 1;
|
||||
(*result)->action->sortorder = def_sort;
|
||||
(*result)->action->revsort = (def_sort_rev ? 1 : 0);
|
||||
Index: alpine-2.11/alpine/setup.c
|
||||
Index: alpine-2.20/alpine/setup.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/setup.c
|
||||
+++ alpine-2.11/alpine/setup.c
|
||||
--- alpine-2.20.orig/alpine/setup.c
|
||||
+++ alpine-2.20/alpine/setup.c
|
||||
@@ -258,7 +258,7 @@ option_screen(struct pine *ps, int edit_
|
||||
ctmpa->flags |= CF_NOSELECT;
|
||||
ctmpa->value = cpystr("--- ----------------------");
|
||||
@ -1338,7 +1338,7 @@ Index: alpine-2.11/alpine/setup.c
|
||||
else if(vtmp == &ps->vars[V_USE_ONLY_DOMAIN_NAME]){ /* yesno case */
|
||||
ctmpa->keymenu = &config_yesno_keymenu;
|
||||
ctmpa->tool = yesno_tool;
|
||||
@@ -464,6 +513,15 @@ option_screen(struct pine *ps, int edit_
|
||||
@@ -465,6 +514,15 @@ option_screen(struct pine *ps, int edit_
|
||||
}
|
||||
}
|
||||
|
||||
@ -1354,10 +1354,10 @@ Index: alpine-2.11/alpine/setup.c
|
||||
treat_color_vars_as_text = 0;
|
||||
free_saved_config(ps, &vsave, expose_hidden_config);
|
||||
#ifdef _WINDOWS
|
||||
Index: alpine-2.11/pith/conf.c
|
||||
Index: alpine-2.20/pith/conf.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/conf.c
|
||||
+++ alpine-2.11/pith/conf.c
|
||||
--- alpine-2.20.orig/pith/conf.c
|
||||
+++ alpine-2.20/pith/conf.c
|
||||
@@ -206,6 +206,8 @@ CONF_TXT_T cf_text_fcc_name_rule[] = "De
|
||||
|
||||
CONF_TXT_T cf_text_sort_key[] = "Sets presentation order of messages in Index. Choices:\n# Subject, From, Arrival, Date, Size, To, Cc, OrderedSubj, Score, and Thread.\n# Order may be reversed by appending /Reverse. Default: \"Arrival\".";
|
||||
@ -1367,7 +1367,7 @@ Index: alpine-2.11/pith/conf.c
|
||||
CONF_TXT_T cf_text_addrbook_sort_rule[] = "Sets presentation order of address book entries. Choices: dont-sort,\n# fullname-with-lists-last, fullname, nickname-with-lists-last, nickname\n# Default: \"fullname-with-lists-last\".";
|
||||
|
||||
CONF_TXT_T cf_text_folder_sort_rule[] = "Sets presentation order of folder list entries. Choices: alphabetical,\n# alpha-with-dirs-last, alpha-with-dirs-first.\n# Default: \"alpha-with-directories-last\".";
|
||||
@@ -522,6 +524,8 @@ static struct variable variables[] = {
|
||||
@@ -524,6 +526,8 @@ static struct variable variables[] = {
|
||||
NULL, cf_text_fcc_name_rule},
|
||||
{"sort-key", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
||||
NULL, cf_text_sort_key},
|
||||
@ -1376,7 +1376,7 @@ Index: alpine-2.11/pith/conf.c
|
||||
{"addrbook-sort-rule", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
||||
"Address Book Sort Rule", cf_text_addrbook_sort_rule},
|
||||
{"folder-sort-rule", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
||||
@@ -1572,7 +1576,7 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||
@@ -1576,7 +1580,7 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||
register struct variable *vars = ps->vars;
|
||||
int obs_header_in_reply = 0, /* the obs_ variables are to */
|
||||
obs_old_style_reply = 0, /* support backwards compatibility */
|
||||
@ -1385,7 +1385,7 @@ Index: alpine-2.11/pith/conf.c
|
||||
long rvl;
|
||||
PINERC_S *fixedprc = NULL;
|
||||
FeatureLevel obs_feature_level;
|
||||
@@ -1597,6 +1601,7 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||
@@ -1601,6 +1605,7 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||
GLO_FEATURE_LEVEL = cpystr("sappling");
|
||||
GLO_OLD_STYLE_REPLY = cpystr(DF_OLD_STYLE_REPLY);
|
||||
GLO_SORT_KEY = cpystr(DF_SORT_KEY);
|
||||
@ -1393,7 +1393,7 @@ Index: alpine-2.11/pith/conf.c
|
||||
GLO_SAVED_MSG_NAME_RULE = cpystr(DF_SAVED_MSG_NAME_RULE);
|
||||
GLO_FCC_RULE = cpystr(DF_FCC_RULE);
|
||||
GLO_AB_SORT_RULE = cpystr(DF_AB_SORT_RULE);
|
||||
@@ -2505,7 +2510,7 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||
@@ -2517,7 +2522,7 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||
set_current_val(&vars[V_ARCHIVED_FOLDERS], TRUE, TRUE);
|
||||
set_current_val(&vars[V_INCOMING_FOLDERS], TRUE, TRUE);
|
||||
set_current_val(&vars[V_SORT_KEY], TRUE, TRUE);
|
||||
@ -1402,7 +1402,7 @@ Index: alpine-2.11/pith/conf.c
|
||||
snprintf(tmp_20k_buf, SIZEOF_20KBUF, "Sort type \"%.200s\" is invalid", VAR_SORT_KEY);
|
||||
init_error(ps, SM_ORDER | SM_DING, 3, 5, tmp_20k_buf);
|
||||
ps->def_sort = SortArrival;
|
||||
@@ -2514,6 +2519,17 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||
@@ -2526,6 +2531,17 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||
else
|
||||
ps->def_sort_rev = def_sort_rev;
|
||||
|
||||
@ -1420,7 +1420,7 @@ Index: alpine-2.11/pith/conf.c
|
||||
cur_rule_value(&vars[V_SAVED_MSG_NAME_RULE], TRUE, TRUE);
|
||||
{NAMEVAL_S *v; int i;
|
||||
for(i = 0; (v = save_msg_rules(i)); i++)
|
||||
@@ -2937,6 +2953,8 @@ feature_list(int index)
|
||||
@@ -2949,6 +2965,8 @@ feature_list(int index)
|
||||
F_COLOR_LINE_IMPORTANT, h_config_color_thrd_import, PREF_INDX, 0},
|
||||
{"thread-sorts-by-arrival", "Thread Sorts by Arrival",
|
||||
F_THREAD_SORTS_BY_ARRIVAL, h_config_thread_sorts_by_arrival, PREF_INDX, 0},
|
||||
@ -1429,7 +1429,7 @@ Index: alpine-2.11/pith/conf.c
|
||||
|
||||
/* Viewer prefs */
|
||||
{"enable-msg-view-addresses", "Enable Message View Address Links",
|
||||
@@ -7619,6 +7637,8 @@ config_help(int var, int feature)
|
||||
@@ -7685,6 +7703,8 @@ config_help(int var, int feature)
|
||||
return(h_config_fcc_rule);
|
||||
case V_SORT_KEY :
|
||||
return(h_config_sort_key);
|
||||
@ -1438,10 +1438,10 @@ Index: alpine-2.11/pith/conf.c
|
||||
case V_AB_SORT_RULE :
|
||||
return(h_config_ab_sort_rule);
|
||||
case V_FLD_SORT_RULE :
|
||||
Index: alpine-2.11/pith/conf.h
|
||||
Index: alpine-2.20/pith/conf.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/conf.h
|
||||
+++ alpine-2.11/pith/conf.h
|
||||
--- alpine-2.20.orig/pith/conf.h
|
||||
+++ alpine-2.20/pith/conf.h
|
||||
@@ -144,6 +144,9 @@
|
||||
#define VAR_SORT_KEY vars[V_SORT_KEY].current_val.p
|
||||
#define GLO_SORT_KEY vars[V_SORT_KEY].global_val.p
|
||||
@ -1452,10 +1452,10 @@ Index: alpine-2.11/pith/conf.h
|
||||
#define VAR_AB_SORT_RULE vars[V_AB_SORT_RULE].current_val.p
|
||||
#define GLO_AB_SORT_RULE vars[V_AB_SORT_RULE].global_val.p
|
||||
#define VAR_FLD_SORT_RULE vars[V_FLD_SORT_RULE].current_val.p
|
||||
Index: alpine-2.11/pith/conftype.h
|
||||
Index: alpine-2.20/pith/conftype.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/conftype.h
|
||||
+++ alpine-2.11/pith/conftype.h
|
||||
--- alpine-2.20.orig/pith/conftype.h
|
||||
+++ alpine-2.20/pith/conftype.h
|
||||
@@ -59,6 +59,7 @@ typedef enum { V_PERSONAL_NAME = 0
|
||||
, V_SAVED_MSG_NAME_RULE
|
||||
, V_FCC_RULE
|
||||
@ -1464,7 +1464,7 @@ Index: alpine-2.11/pith/conftype.h
|
||||
, V_AB_SORT_RULE
|
||||
, V_FLD_SORT_RULE
|
||||
, V_GOTO_DEFAULT_RULE
|
||||
@@ -509,6 +510,7 @@ typedef enum {
|
||||
@@ -511,6 +512,7 @@ typedef enum {
|
||||
F_QUELL_TIMEZONE,
|
||||
F_QUELL_USERAGENT,
|
||||
F_COLOR_LINE_IMPORTANT,
|
||||
@ -1472,17 +1472,17 @@ Index: alpine-2.11/pith/conftype.h
|
||||
F_SLASH_COLL_ENTIRE,
|
||||
F_ENABLE_FULL_HDR_AND_TEXT,
|
||||
F_QUELL_FULL_HDR_RESET,
|
||||
@@ -716,5 +718,6 @@ typedef struct smime_stuff {
|
||||
@@ -766,5 +768,6 @@ typedef struct smime_stuff {
|
||||
|
||||
/* exported protoypes */
|
||||
|
||||
+#define DF_THREAD_SORT_KEY "thread"
|
||||
|
||||
#endif /* PITH_CONFTYPE_INCLUDED */
|
||||
Index: alpine-2.11/pith/flag.c
|
||||
Index: alpine-2.20/pith/flag.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/flag.c
|
||||
+++ alpine-2.11/pith/flag.c
|
||||
--- alpine-2.20.orig/pith/flag.c
|
||||
+++ alpine-2.20/pith/flag.c
|
||||
@@ -594,14 +594,16 @@ set_lflag(MAILSTREAM *stream, MSGNO_S *m
|
||||
|
||||
was_invisible = (pelt->hidden || pelt->colhid) ? 1 : 0;
|
||||
@ -1502,10 +1502,10 @@ Index: alpine-2.11/pith/flag.c
|
||||
}
|
||||
|
||||
if(topthrd){
|
||||
Index: alpine-2.11/pith/indxtype.h
|
||||
Index: alpine-2.20/pith/indxtype.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/indxtype.h
|
||||
+++ alpine-2.11/pith/indxtype.h
|
||||
--- alpine-2.20.orig/pith/indxtype.h
|
||||
+++ alpine-2.20/pith/indxtype.h
|
||||
@@ -76,7 +76,7 @@ typedef enum {iNothing, iStatus, iFStatu
|
||||
iKey, iKeyInit,
|
||||
iPrefDate, iPrefTime, iPrefDateTime,
|
||||
@ -1515,10 +1515,10 @@ Index: alpine-2.11/pith/indxtype.h
|
||||
iNewsAndTo, iToAndNews, iNewsAndRecips, iRecipsAndNews,
|
||||
iFromTo, iFromToNotNews, iFrom, iTo, iSender, iCc, iNews, iRecips,
|
||||
iCurNews, iArrow,
|
||||
Index: alpine-2.11/pith/mailindx.c
|
||||
Index: alpine-2.20/pith/mailindx.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/mailindx.c
|
||||
+++ alpine-2.11/pith/mailindx.c
|
||||
--- alpine-2.20.orig/pith/mailindx.c
|
||||
+++ alpine-2.20/pith/mailindx.c
|
||||
@@ -228,6 +228,7 @@ init_index_format(char *format, INDEX_CO
|
||||
case iSTime:
|
||||
case iKSize:
|
||||
@ -1624,7 +1624,7 @@ Index: alpine-2.11/pith/mailindx.c
|
||||
/* 0 ... 9999 */
|
||||
if((l = fetch_size(idata)) < 10*1000L)
|
||||
snprintf(str, sizeof(str), "(%lu)", l);
|
||||
@@ -5412,10 +5437,8 @@ subj_str(INDEXDATA_S *idata, char *str,
|
||||
@@ -5413,10 +5438,8 @@ subj_str(INDEXDATA_S *idata, char *str,
|
||||
|
||||
if(pith_opt_condense_thread_cue)
|
||||
width = (*pith_opt_condense_thread_cue)(thd, ice, &str, &strsize, width,
|
||||
@ -1637,7 +1637,7 @@ Index: alpine-2.11/pith/mailindx.c
|
||||
|
||||
/*
|
||||
* width is < available strsize and
|
||||
@@ -6043,11 +6066,8 @@ from_str(IndexColType ctype, INDEXDATA_S
|
||||
@@ -6044,11 +6067,8 @@ from_str(IndexColType ctype, INDEXDATA_S
|
||||
border = str + width;
|
||||
if(pith_opt_condense_thread_cue)
|
||||
width = (*pith_opt_condense_thread_cue)(thd, ice, &str, &strsize, width,
|
||||
@ -1651,10 +1651,10 @@ Index: alpine-2.11/pith/mailindx.c
|
||||
fptr = str;
|
||||
|
||||
if(thd)
|
||||
Index: alpine-2.11/pith/pattern.c
|
||||
Index: alpine-2.20/pith/pattern.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/pattern.c
|
||||
+++ alpine-2.11/pith/pattern.c
|
||||
--- alpine-2.20.orig/pith/pattern.c
|
||||
+++ alpine-2.20/pith/pattern.c
|
||||
@@ -1756,7 +1756,7 @@ parse_action_slash(char *str, ACTION_S *
|
||||
SortOrder def_sort;
|
||||
int def_sort_rev;
|
||||
@ -1664,11 +1664,11 @@ Index: alpine-2.11/pith/pattern.c
|
||||
action->sort_is_set = 1;
|
||||
action->sortorder = def_sort;
|
||||
action->revsort = (def_sort_rev ? 1 : 0);
|
||||
Index: alpine-2.11/pith/pine.hlp
|
||||
Index: alpine-2.20/pith/pine.hlp
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/pine.hlp
|
||||
+++ alpine-2.11/pith/pine.hlp
|
||||
@@ -3596,6 +3596,7 @@ There are also additional details on
|
||||
--- alpine-2.20.orig/pith/pine.hlp
|
||||
+++ alpine-2.20/pith/pine.hlp
|
||||
@@ -3866,6 +3866,7 @@ There are also additional details on
|
||||
<li><a href="h_config_signature_file">OPTION: <!--#echo var="VAR_signature-file"--></a>
|
||||
<li><a href="h_config_smtp_server">OPTION: <!--#echo var="VAR_smtp-server"--></a>
|
||||
<li><a href="h_config_sort_key">OPTION: <!--#echo var="VAR_sort-key"--></a>
|
||||
@ -1676,7 +1676,7 @@ Index: alpine-2.11/pith/pine.hlp
|
||||
<li><a href="h_config_speller">OPTION: <!--#echo var="VAR_speller"--></a>
|
||||
<li><a href="h_config_sshcmd">OPTION: <!--#echo var="VAR_ssh-command"--></a>
|
||||
<li><a href="h_config_ssh_open_timeo">OPTION: <!--#echo var="VAR_ssh-open-timeout"--></a>
|
||||
@@ -5528,6 +5529,163 @@ the names of the carbon copy addresses o
|
||||
@@ -5802,6 +5803,163 @@ the names of the carbon copy addresses o
|
||||
<End of help on this topic>
|
||||
</BODY>
|
||||
</HTML>
|
||||
@ -1840,7 +1840,7 @@ Index: alpine-2.11/pith/pine.hlp
|
||||
======= h_index_cmd_whereis =======
|
||||
<HTML>
|
||||
<HEAD>
|
||||
@@ -18894,6 +19052,14 @@ The progression of sizes used looks like
|
||||
@@ -19184,6 +19342,14 @@ The progression of sizes used looks like
|
||||
<P>
|
||||
</DD>
|
||||
|
||||
@ -1855,7 +1855,7 @@ Index: alpine-2.11/pith/pine.hlp
|
||||
<DT>SIZENARROW</DT>
|
||||
<DD>
|
||||
This token represents the total size, in bytes, of the message.
|
||||
@@ -22259,6 +22425,45 @@ command, then it will not be re-sorted u
|
||||
@@ -22655,6 +22821,45 @@ command, then it will not be re-sorted u
|
||||
<End of help on this topic>
|
||||
</BODY>
|
||||
</HTML>
|
||||
@ -1901,7 +1901,7 @@ Index: alpine-2.11/pith/pine.hlp
|
||||
====== h_config_other_startup =====
|
||||
<HTML>
|
||||
<HEAD>
|
||||
@@ -30089,6 +30294,23 @@ Reply Use, Forward Use, and Compose Use.
|
||||
@@ -30485,6 +30690,23 @@ Reply Use, Forward Use, and Compose Use.
|
||||
<End of help on this topic>
|
||||
</BODY>
|
||||
</HTML>
|
||||
@ -1925,10 +1925,10 @@ Index: alpine-2.11/pith/pine.hlp
|
||||
====== h_config_news_cross_deletes =====
|
||||
<HTML>
|
||||
<HEAD>
|
||||
Index: alpine-2.11/pith/sort.c
|
||||
Index: alpine-2.20/pith/sort.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/sort.c
|
||||
+++ alpine-2.11/pith/sort.c
|
||||
--- alpine-2.20.orig/pith/sort.c
|
||||
+++ alpine-2.20/pith/sort.c
|
||||
@@ -91,7 +91,7 @@ Args: msgmap --
|
||||
----*/
|
||||
void
|
||||
@ -2016,10 +2016,10 @@ Index: alpine-2.11/pith/sort.c
|
||||
- the_sort_order, sort_is_rev, flags);
|
||||
+ the_sort_order, sort_is_rev, flags, 1);
|
||||
}
|
||||
Index: alpine-2.11/pith/sort.h
|
||||
Index: alpine-2.20/pith/sort.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/sort.h
|
||||
+++ alpine-2.11/pith/sort.h
|
||||
--- alpine-2.20.orig/pith/sort.h
|
||||
+++ alpine-2.20/pith/sort.h
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
|
||||
@ -2040,10 +2040,10 @@ Index: alpine-2.11/pith/sort.h
|
||||
void reset_sort_order(unsigned);
|
||||
|
||||
|
||||
Index: alpine-2.11/pith/state.c
|
||||
Index: alpine-2.20/pith/state.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/state.c
|
||||
+++ alpine-2.11/pith/state.c
|
||||
--- alpine-2.20.orig/pith/state.c
|
||||
+++ alpine-2.20/pith/state.c
|
||||
@@ -74,6 +74,7 @@ new_pine_struct(void)
|
||||
|
||||
p = (struct pine *)fs_get(sizeof (struct pine));
|
||||
@ -2052,10 +2052,10 @@ Index: alpine-2.11/pith/state.c
|
||||
p->def_sort = SortArrival;
|
||||
p->sort_types[0] = SortSubject;
|
||||
p->sort_types[1] = SortArrival;
|
||||
Index: alpine-2.11/pith/state.h
|
||||
Index: alpine-2.20/pith/state.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/state.h
|
||||
+++ alpine-2.11/pith/state.h
|
||||
--- alpine-2.20.orig/pith/state.h
|
||||
+++ alpine-2.20/pith/state.h
|
||||
@@ -137,6 +137,8 @@ struct pine {
|
||||
unsigned unseen_in_view:1;
|
||||
unsigned start_in_context:1; /* start fldr_scrn in current cntxt */
|
||||
@ -2065,7 +2065,7 @@ Index: alpine-2.11/pith/state.h
|
||||
unsigned restricted:1;
|
||||
|
||||
unsigned tcptimeout:1; /* a tcp timeout is in progress */
|
||||
@@ -288,6 +290,9 @@ struct pine {
|
||||
@@ -291,6 +293,9 @@ struct pine {
|
||||
EditWhich ew_for_srch_take;
|
||||
|
||||
SortOrder def_sort, /* Default sort type */
|
||||
@ -2075,10 +2075,10 @@ Index: alpine-2.11/pith/state.h
|
||||
sort_types[22];
|
||||
|
||||
int preserve;
|
||||
Index: alpine-2.11/pith/thread.c
|
||||
Index: alpine-2.20/pith/thread.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/thread.c
|
||||
+++ alpine-2.11/pith/thread.c
|
||||
--- alpine-2.20.orig/pith/thread.c
|
||||
+++ alpine-2.20/pith/thread.c
|
||||
@@ -30,12 +30,18 @@ static char rcsid[] = "$Id: thread.c 942
|
||||
#include "../pith/mailcmd.h"
|
||||
#include "../pith/ablookup.h"
|
||||
@ -3127,10 +3127,10 @@ Index: alpine-2.11/pith/thread.c
|
||||
+ || sort == SortSize;
|
||||
+}
|
||||
+
|
||||
Index: alpine-2.11/pith/thread.h
|
||||
Index: alpine-2.20/pith/thread.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/thread.h
|
||||
+++ alpine-2.11/pith/thread.h
|
||||
--- alpine-2.20.orig/pith/thread.h
|
||||
+++ alpine-2.20/pith/thread.h
|
||||
@@ -37,6 +37,7 @@ typedef struct pine_thrd {
|
||||
unsigned long nextthd; /* next thread, only tops have this */
|
||||
unsigned long prevthd; /* previous thread, only tops have this */
|
||||
@ -3174,10 +3174,10 @@ Index: alpine-2.11/pith/thread.h
|
||||
+int allowed_thread_key(SortOrder sort);
|
||||
|
||||
#endif /* PITH_THREAD_INCLUDED */
|
||||
Index: alpine-2.11/web/src/alpined.d/alpined.c
|
||||
Index: alpine-2.20/web/src/alpined.d/alpined.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/web/src/alpined.d/alpined.c
|
||||
+++ alpine-2.11/web/src/alpined.d/alpined.c
|
||||
--- alpine-2.20.orig/web/src/alpined.d/alpined.c
|
||||
+++ alpine-2.20/web/src/alpined.d/alpined.c
|
||||
@@ -2755,7 +2755,7 @@ PEConfigCmd(ClientData clientData, Tcl_I
|
||||
init_save_defaults();
|
||||
break;
|
||||
|
@ -6,11 +6,11 @@
|
||||
pith/save.c | 1 +
|
||||
5 files changed, 42 insertions(+)
|
||||
|
||||
Index: alpine-2.11/alpine/mailcmd.c
|
||||
Index: alpine-2.20/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
|
||||
--- alpine-2.20.orig/alpine/mailcmd.c
|
||||
+++ alpine-2.20/alpine/mailcmd.c
|
||||
@@ -3491,6 +3491,9 @@ save_size_changed_prompt(long msgno, int
|
||||
{-1, 0, NULL, NULL}
|
||||
};
|
||||
|
||||
@ -20,11 +20,11 @@ Index: alpine-2.11/alpine/mailcmd.c
|
||||
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
|
||||
Index: alpine-2.20/pith/conf.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/conf.c
|
||||
+++ alpine-2.11/pith/conf.c
|
||||
@@ -3123,6 +3123,8 @@ feature_list(int index)
|
||||
--- alpine-2.20.orig/pith/conf.c
|
||||
+++ alpine-2.20/pith/conf.c
|
||||
@@ -3140,6 +3140,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},
|
||||
@ -33,11 +33,11 @@ Index: alpine-2.11/pith/conf.c
|
||||
{"maildrops-preserve-state", NULL,
|
||||
F_MAILDROPS_PRESERVE_STATE, h_config_maildrops_preserve_state,
|
||||
PREF_MISC, 0},
|
||||
Index: alpine-2.11/pith/conftype.h
|
||||
Index: alpine-2.20/pith/conftype.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/conftype.h
|
||||
+++ alpine-2.11/pith/conftype.h
|
||||
@@ -346,6 +346,7 @@ typedef enum {
|
||||
--- alpine-2.20.orig/pith/conftype.h
|
||||
+++ alpine-2.20/pith/conftype.h
|
||||
@@ -347,6 +347,7 @@ typedef enum {
|
||||
F_FORCE_ARROW,
|
||||
F_PRUNE_USES_ISO,
|
||||
F_ALT_ED_NOW,
|
||||
@ -45,11 +45,11 @@ Index: alpine-2.11/pith/conftype.h
|
||||
F_SHOW_DELAY_CUE,
|
||||
F_CANCEL_CONFIRM,
|
||||
F_AUTO_OPEN_NEXT_UNREAD,
|
||||
Index: alpine-2.11/pith/pine.hlp
|
||||
Index: alpine-2.20/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
|
||||
--- alpine-2.20.orig/pith/pine.hlp
|
||||
+++ alpine-2.20/pith/pine.hlp
|
||||
@@ -3565,6 +3565,7 @@ There are also additional details on
|
||||
<li><a href="h_config_full_auto_expunge">FEATURE: <!--#echo var="FEAT_expunge-without-confirm-everywhere"--></a>
|
||||
<li><a href="h_config_no_fcc_attach">FEATURE: <!--#echo var="FEAT_fcc-without-attachments"--></a>
|
||||
<li><a href="h_config_force_arrow">FEATURE: <!--#echo var="FEAT_force-arrow-cursor"--></a>
|
||||
@ -57,7 +57,7 @@ Index: alpine-2.11/pith/pine.hlp
|
||||
<li><a href="h_config_forward_as_attachment">FEATURE: <!--#echo var="FEAT_forward-as-attachment"--></a>
|
||||
<li><a href="h_config_preserve_field">FEATURE: <!--#echo var="FEAT_preserve-original-fields"--></a>
|
||||
<li><a href="h_config_quell_empty_dirs">FEATURE: <!--#echo var="FEAT_quell-empty-directories"--></a>
|
||||
@@ -30787,6 +30788,40 @@ but that is not implemented.
|
||||
@@ -31183,6 +31184,40 @@ but that is not implemented.
|
||||
|
||||
<P>
|
||||
<End of help on this topic>
|
||||
@ -98,10 +98,10 @@ Index: alpine-2.11/pith/pine.hlp
|
||||
</BODY>
|
||||
</HTML>
|
||||
====== h_config_force_low_speed =====
|
||||
Index: alpine-2.11/pith/save.c
|
||||
Index: alpine-2.20/pith/save.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/save.c
|
||||
+++ alpine-2.11/pith/save.c
|
||||
--- alpine-2.20.orig/pith/save.c
|
||||
+++ alpine-2.20/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",
|
||||
|
@ -3,10 +3,10 @@
|
||||
pico/search.c | 4 ++++
|
||||
2 files changed, 16 insertions(+)
|
||||
|
||||
Index: alpine-2.11/pico/display.c
|
||||
Index: alpine-2.20/pico/display.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pico/display.c
|
||||
+++ alpine-2.11/pico/display.c
|
||||
--- alpine-2.20.orig/pico/display.c
|
||||
+++ alpine-2.20/pico/display.c
|
||||
@@ -1760,6 +1760,18 @@ mlreplyd(UCS *prompt, UCS *buf, int nbuf
|
||||
|
||||
continue;
|
||||
@ -26,11 +26,11 @@ Index: alpine-2.11/pico/display.c
|
||||
case (CTRL|'G') : /* CTRL-G help */
|
||||
if(term.t_mrow == 0 && km_popped == 0){
|
||||
movecursor(term.t_nrow-2, 0);
|
||||
Index: alpine-2.11/pico/search.c
|
||||
Index: alpine-2.20/pico/search.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pico/search.c
|
||||
+++ alpine-2.11/pico/search.c
|
||||
@@ -76,6 +76,10 @@ N_(" brackets. This string is th
|
||||
--- alpine-2.20.orig/pico/search.c
|
||||
+++ alpine-2.20/pico/search.c
|
||||
@@ -81,6 +81,10 @@ N_(" brackets. This string is th
|
||||
N_("~ Hitting only ~R~e~t~u~r~n or at the prompt will cause the"),
|
||||
N_(" search to be made with the default value."),
|
||||
" ",
|
||||
|
@ -6,22 +6,22 @@
|
||||
imap/src/c-client/mail.h | 4
|
||||
imap/src/osdep/unix/Makefile | 8
|
||||
imap/src/osdep/unix/dummy.c | 48
|
||||
imap/src/osdep/unix/maildir.c | 2638 ++++++++++++++++++++++++++++++++++++++++++
|
||||
imap/src/osdep/unix/maildir.c | 2671 ++++++++++++++++++++++++++++++++++++++++++
|
||||
imap/src/osdep/unix/maildir.h | 226 +++
|
||||
imap/src/osdep/unix/os_cyg.h | 1
|
||||
pith/conf.c | 27
|
||||
pith/conf.c | 30
|
||||
pith/conf.h | 4
|
||||
pith/conftype.h | 6
|
||||
pith/init.c | 3
|
||||
pith/pattern.c | 26
|
||||
pith/pattern.c | 30
|
||||
pith/pine.hlp | 139 ++
|
||||
pith/send.c | 7
|
||||
17 files changed, 3293 insertions(+), 15 deletions(-)
|
||||
pith/send.c | 10
|
||||
17 files changed, 3334 insertions(+), 17 deletions(-)
|
||||
|
||||
Index: alpine-2.11/README.maildir
|
||||
Index: alpine-2.20/README.maildir
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ alpine-2.11/README.maildir
|
||||
+++ alpine-2.20/README.maildir
|
||||
@@ -0,0 +1,149 @@
|
||||
+---------------------------------------
|
||||
+
|
||||
@ -172,27 +172,27 @@ Index: alpine-2.11/README.maildir
|
||||
+point to the same place.
|
||||
+
|
||||
+Last Updated May 28, 2011
|
||||
Index: alpine-2.11/alpine/alpine.c
|
||||
Index: alpine-2.20/alpine/alpine.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/alpine.c
|
||||
+++ alpine-2.11/alpine/alpine.c
|
||||
@@ -558,6 +558,11 @@ main(int argc, char **argv)
|
||||
--- alpine-2.20.orig/alpine/alpine.c
|
||||
+++ alpine-2.20/alpine/alpine.c
|
||||
@@ -560,6 +560,11 @@ main(int argc, char **argv)
|
||||
if(F_ON(F_MAILDROPS_PRESERVE_STATE, ps_global))
|
||||
mail_parameters(NULL, SET_SNARFPRESERVE, (void *) TRUE);
|
||||
|
||||
+#ifndef _WINDOWS
|
||||
+ mail_parameters(NULL,SET_COURIERSTYLE,
|
||||
+ (void *)(F_ON(F_COURIER_FOLDER_LIST, ps_global) ? 1 : 0));
|
||||
+ rv = F_ON(F_COURIER_FOLDER_LIST, ps_global) ? 1 : 0;
|
||||
+ mail_parameters(NULL,SET_COURIERSTYLE, (void *) &rv);
|
||||
+#endif
|
||||
+
|
||||
rvl = 0L;
|
||||
if(pine_state->VAR_NNTPRANGE){
|
||||
if(!SVAR_NNTPRANGE(pine_state, rvl, tmp_20k_buf, SIZEOF_20KBUF))
|
||||
Index: alpine-2.11/alpine/confscroll.c
|
||||
Index: alpine-2.20/alpine/confscroll.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/confscroll.c
|
||||
+++ alpine-2.11/alpine/confscroll.c
|
||||
@@ -5533,6 +5533,12 @@ fix_side_effects(struct pine *ps, struct
|
||||
--- alpine-2.20.orig/alpine/confscroll.c
|
||||
+++ alpine-2.20/alpine/confscroll.c
|
||||
@@ -5556,6 +5556,12 @@ fix_side_effects(struct pine *ps, struct
|
||||
(void *)var->current_val.p);
|
||||
}
|
||||
#endif
|
||||
@ -205,11 +205,11 @@ Index: alpine-2.11/alpine/confscroll.c
|
||||
else if(revert && standard_radio_var(ps, var)){
|
||||
|
||||
cur_rule_value(var, TRUE, FALSE);
|
||||
Index: alpine-2.11/imap/src/c-client/mail.c
|
||||
Index: alpine-2.20/imap/src/c-client/mail.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/imap/src/c-client/mail.c
|
||||
+++ alpine-2.11/imap/src/c-client/mail.c
|
||||
@@ -991,7 +991,7 @@ long mail_create (MAILSTREAM *stream,cha
|
||||
--- alpine-2.20.orig/imap/src/c-client/mail.c
|
||||
+++ alpine-2.20/imap/src/c-client/mail.c
|
||||
@@ -1011,7 +1011,7 @@ long mail_create (MAILSTREAM *stream,cha
|
||||
MAILSTREAM *ts;
|
||||
char *s,*t,tmp[MAILTMPLEN];
|
||||
size_t i;
|
||||
@ -218,7 +218,7 @@ Index: alpine-2.11/imap/src/c-client/mail.c
|
||||
/* never allow names with newlines */
|
||||
if (s = strpbrk (mailbox,"\015\012")) {
|
||||
MM_LOG ("Can't create mailbox with such a name",ERROR);
|
||||
@@ -1015,6 +1015,8 @@ long mail_create (MAILSTREAM *stream,cha
|
||||
@@ -1035,6 +1035,8 @@ long mail_create (MAILSTREAM *stream,cha
|
||||
return NIL;
|
||||
}
|
||||
|
||||
@ -227,7 +227,7 @@ Index: alpine-2.11/imap/src/c-client/mail.c
|
||||
/* see if special driver hack */
|
||||
if ((mailbox[0] == '#') && ((mailbox[1] == 'd') || (mailbox[1] == 'D')) &&
|
||||
((mailbox[2] == 'r') || (mailbox[2] == 'R')) &&
|
||||
@@ -1045,6 +1047,13 @@ long mail_create (MAILSTREAM *stream,cha
|
||||
@@ -1065,6 +1067,13 @@ long mail_create (MAILSTREAM *stream,cha
|
||||
(((*mailbox == '{') || (*mailbox == '#')) &&
|
||||
(stream = mail_open (NIL,mailbox,OP_PROTOTYPE | OP_SILENT))))
|
||||
d = stream->dtb;
|
||||
@ -241,11 +241,11 @@ Index: alpine-2.11/imap/src/c-client/mail.c
|
||||
else if ((*mailbox != '{') && (ts = default_proto (NIL))) d = ts->dtb;
|
||||
else { /* failed utterly */
|
||||
sprintf (tmp,"Can't create mailbox %.80s: indeterminate format",mailbox);
|
||||
Index: alpine-2.11/imap/src/c-client/mail.h
|
||||
Index: alpine-2.20/imap/src/c-client/mail.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/imap/src/c-client/mail.h
|
||||
+++ alpine-2.11/imap/src/c-client/mail.h
|
||||
@@ -353,6 +353,10 @@
|
||||
--- alpine-2.20.orig/imap/src/c-client/mail.h
|
||||
+++ alpine-2.20/imap/src/c-client/mail.h
|
||||
@@ -354,6 +354,10 @@
|
||||
#define SET_SCANCONTENTS (long) 573
|
||||
#define GET_MHALLOWINBOX (long) 574
|
||||
#define SET_MHALLOWINBOX (long) 575
|
||||
@ -256,11 +256,11 @@ Index: alpine-2.11/imap/src/c-client/mail.h
|
||||
|
||||
/* Driver flags */
|
||||
|
||||
Index: alpine-2.11/imap/src/osdep/unix/Makefile
|
||||
Index: alpine-2.20/imap/src/osdep/unix/Makefile
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/imap/src/osdep/unix/Makefile
|
||||
+++ alpine-2.11/imap/src/osdep/unix/Makefile
|
||||
@@ -144,7 +144,7 @@ DEFAULTAUTHENTICATORS=ext md5 pla log
|
||||
--- alpine-2.20.orig/imap/src/osdep/unix/Makefile
|
||||
+++ alpine-2.20/imap/src/osdep/unix/Makefile
|
||||
@@ -147,7 +147,7 @@ DEFAULTAUTHENTICATORS=ext md5 pla log
|
||||
# However, mh needs to be before any sysinbox formats (such as mmdf or unix)
|
||||
# since otherwise INBOX won't work correctly when mh_allow_inbox is set.
|
||||
#
|
||||
@ -269,7 +269,7 @@ Index: alpine-2.11/imap/src/osdep/unix/Makefile
|
||||
CHUNKSIZE=65536
|
||||
|
||||
# Normally no need to change any of these
|
||||
@@ -153,7 +153,7 @@ ARCHIVE=c-client.a
|
||||
@@ -156,7 +156,7 @@ ARCHIVE=c-client.a
|
||||
BINARIES=osdep.o mail.o misc.o newsrc.o smanager.o utf8.o utf8aux.o siglocal.o \
|
||||
dummy.o pseudo.o netmsg.o flstring.o fdstring.o \
|
||||
rfc822.o nntp.o smtp.o imap4r1.o pop3.o \
|
||||
@ -278,7 +278,7 @@ Index: alpine-2.11/imap/src/osdep/unix/Makefile
|
||||
CFLAGS=-g
|
||||
|
||||
CAT=cat
|
||||
@@ -290,7 +290,7 @@ cvx: # Convex
|
||||
@@ -293,7 +293,7 @@ cvx: # Convex
|
||||
|
||||
cyg: # Cygwin - note that most local file drivers don't work!!
|
||||
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
||||
@ -287,7 +287,7 @@ Index: alpine-2.11/imap/src/osdep/unix/Makefile
|
||||
SIGTYPE=psx CHECKPW=cyg LOGINPW=cyg CRXTYPE=std \
|
||||
SPOOLDIR=/var \
|
||||
ACTIVEFILE=/usr/local/news/lib/active \
|
||||
@@ -900,7 +900,7 @@ tenex.o: mail.h misc.h osdep.h dummy.h
|
||||
@@ -911,7 +911,7 @@ tenex.o: mail.h misc.h osdep.h dummy.h
|
||||
unix.o: mail.h misc.h osdep.h unix.h pseudo.h dummy.h
|
||||
utf8.o: mail.h misc.h osdep.h utf8.h tmap.c widths.c
|
||||
utf8aux.o: mail.h misc.h osdep.h utf8.h
|
||||
@ -296,11 +296,11 @@ Index: alpine-2.11/imap/src/osdep/unix/Makefile
|
||||
|
||||
# OS-dependent
|
||||
|
||||
Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
||||
Index: alpine-2.20/imap/src/osdep/unix/dummy.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/imap/src/osdep/unix/dummy.c
|
||||
+++ alpine-2.11/imap/src/osdep/unix/dummy.c
|
||||
@@ -106,13 +106,19 @@ MAILSTREAM dummyproto = {&dummydriver};
|
||||
--- alpine-2.20.orig/imap/src/osdep/unix/dummy.c
|
||||
+++ alpine-2.20/imap/src/osdep/unix/dummy.c
|
||||
@@ -103,13 +103,19 @@ MAILSTREAM dummyproto = {&dummydriver};
|
||||
* Accepts: mailbox name
|
||||
* Returns: our driver if name is valid, NIL otherwise
|
||||
*/
|
||||
@ -323,7 +323,7 @@ Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
||||
/* indeterminate clearbox INBOX */
|
||||
if (!*s) return &dummydriver;
|
||||
else if (!stat (s,&sbuf)) switch (sbuf.st_mode & S_IFMT) {
|
||||
@@ -121,8 +127,9 @@ DRIVER *dummy_valid (char *name)
|
||||
@@ -118,8 +124,9 @@ DRIVER *dummy_valid (char *name)
|
||||
return &dummydriver;
|
||||
}
|
||||
/* blackbox INBOX does not exist yet */
|
||||
@ -334,7 +334,7 @@ Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
||||
return NIL;
|
||||
}
|
||||
|
||||
@@ -454,6 +461,8 @@ long dummy_create (MAILSTREAM *stream,ch
|
||||
@@ -452,6 +459,8 @@ long dummy_create (MAILSTREAM *stream,ch
|
||||
{
|
||||
char *s,tmp[MAILTMPLEN];
|
||||
long ret = NIL;
|
||||
@ -343,7 +343,7 @@ Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
||||
/* validate name */
|
||||
if (!(compare_cstring (mailbox,"INBOX") && (s = dummy_file (tmp,mailbox)))) {
|
||||
sprintf (tmp,"Can't create %.80s: invalid name",mailbox);
|
||||
@@ -519,6 +528,14 @@ long dummy_delete (MAILSTREAM *stream,ch
|
||||
@@ -517,6 +526,14 @@ long dummy_delete (MAILSTREAM *stream,ch
|
||||
{
|
||||
struct stat sbuf;
|
||||
char *s,tmp[MAILTMPLEN];
|
||||
@ -358,7 +358,7 @@ Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
||||
if (!(s = dummy_file (tmp,mailbox))) {
|
||||
sprintf (tmp,"Can't delete - invalid name: %.80s",s);
|
||||
MM_LOG (tmp,ERROR);
|
||||
@@ -544,12 +561,23 @@ long dummy_delete (MAILSTREAM *stream,ch
|
||||
@@ -542,12 +559,23 @@ long dummy_delete (MAILSTREAM *stream,ch
|
||||
long dummy_rename (MAILSTREAM *stream,char *old,char *newname)
|
||||
{
|
||||
struct stat sbuf;
|
||||
@ -385,7 +385,7 @@ Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
||||
MM_LOG (mbx,ERROR);
|
||||
return NIL;
|
||||
}
|
||||
@@ -565,14 +593,16 @@ long dummy_rename (MAILSTREAM *stream,ch
|
||||
@@ -563,14 +591,16 @@ long dummy_rename (MAILSTREAM *stream,ch
|
||||
}
|
||||
}
|
||||
/* rename of non-ex INBOX creates dest */
|
||||
@ -404,16 +404,16 @@ Index: alpine-2.11/imap/src/osdep/unix/dummy.c
|
||||
return T; /* return success */
|
||||
}
|
||||
|
||||
Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
||||
Index: alpine-2.20/imap/src/osdep/unix/maildir.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ alpine-2.11/imap/src/osdep/unix/maildir.c
|
||||
@@ -0,0 +1,2638 @@
|
||||
+++ alpine-2.20/imap/src/osdep/unix/maildir.c
|
||||
@@ -0,0 +1,2671 @@
|
||||
+/*
|
||||
+ * Maildir driver for Alpine 2.00
|
||||
+ * Maildir driver for Alpine 2.20
|
||||
+ *
|
||||
+ * Written by Eduardo Chappa <chappa@gmx.com>
|
||||
+ * Last Update: May 29, 2011.
|
||||
+ * Last Update: June 10, 2014
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
@ -1589,7 +1589,7 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
||||
+ char *s, c, err[MAILTMPLEN], tmp[MAILTMPLEN], tmp2[MAILTMPLEN], mbx[MAILTMPLEN];
|
||||
+ int fnlen, create_dir = 0, courier, mv;
|
||||
+ struct stat sbuf;
|
||||
+ long style = (long) maildir_parameters(GET_COURIERSTYLE, NIL);
|
||||
+ long style = *(long *) maildir_parameters(GET_COURIERSTYLE, NIL);
|
||||
+
|
||||
+ courier = IS_COURIER(mailbox);
|
||||
+ strcpy(mbx, mailbox);
|
||||
@ -1817,7 +1817,7 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
||||
+
|
||||
+long maildir_append (MAILSTREAM *stream,char *mailbox,append_t af,void *data)
|
||||
+{
|
||||
+ int fd, k;
|
||||
+ int fd, k, done, fail;
|
||||
+ STRING *message;
|
||||
+ char c,*s, *flags, *date;
|
||||
+ char tmp[MAILTMPLEN],file[MAILTMPLEN],path1[MAILTMPLEN],path2[MAILTMPLEN];
|
||||
@ -1825,6 +1825,7 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
||||
+ long i, size = 0L, ret = LONGT, f;
|
||||
+ unsigned long uf, ti;
|
||||
+ static unsigned int transact = 0;
|
||||
+ struct stat sbuf;
|
||||
+
|
||||
+ if (!maildir_valid(mailbox)) {
|
||||
+ snprintf (tmp, sizeof(tmp), "Not a valid Maildir mailbox: %s", mailbox);
|
||||
@ -1848,29 +1849,58 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
||||
+ if (!(*af)(stream, data, &flags, &date, &message)) return NIL;
|
||||
+
|
||||
+ mm_critical (stream); /* go critical */
|
||||
+ /* call time(0) only once, use transact to distinguish instead */
|
||||
+ ti = time(0);
|
||||
+ do {
|
||||
+ fail = done = 0; /* we have not determined name of message file yet */
|
||||
+ if (!SIZE (message)) { /* guard against zero-length */
|
||||
+ mm_log ("Append of zero-length message",ERROR);
|
||||
+ mm_log ("Append of zero-length message", ERROR);
|
||||
+ ret = NIL;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ if (date && !mail_parse_date(&elt,date)){
|
||||
+ snprintf (tmp, sizeof(tmp), "Bad date in append: %.80s",date);
|
||||
+ mm_log (tmp,ERROR);
|
||||
+ ret = NIL;
|
||||
+ break;
|
||||
+ snprintf (tmp, sizeof(tmp), "Bad date in append: %.80s", date);
|
||||
+ mm_log (tmp, ERROR);
|
||||
+ ret = NIL;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ if(date){
|
||||
+ struct tm tm;
|
||||
+
|
||||
+ tm.tm_sec = elt.seconds;
|
||||
+ tm.tm_min = elt.minutes;
|
||||
+ tm.tm_hour = elt.hours;
|
||||
+ tm.tm_mday = elt.day;
|
||||
+ tm.tm_mon = elt.month - 1;
|
||||
+ tm.tm_year = BASEYEAR + elt.year - 1900;
|
||||
+
|
||||
+ ti = mktime(&tm);
|
||||
+ } else ti = time(0);
|
||||
+
|
||||
+ f = mail_parse_flags (stream,flags,&uf);
|
||||
+ do {
|
||||
+ /* build file name we will use */
|
||||
+ snprintf (file, sizeof(file), "%lu.%d_%09u.%s%s%s%s%s%s",
|
||||
+ snprintf (file, sizeof(file), "%lu.%d_%09u.%s%s%s%s%s%s",
|
||||
+ ti, mypid, transact++, mdlocaldomain, (f ? MDSEP(2) : ""),
|
||||
+ MDFLAG(Draft, f&fDRAFT), MDFLAG(Flagged, f&fFLAGGED),
|
||||
+ MDFLAG(Replied, f&fANSWERED), MDFLAG(Seen, f&fSEEN));
|
||||
+ /* build tmp file name */
|
||||
+ if (maildir_file_path(mailbox, tmp, sizeof(tmp)))
|
||||
+ MSGPATH(path1, tmp, file, Tmp);
|
||||
+ if (maildir_file_path(mailbox, tmp, sizeof(tmp))) /* copy in TMP */
|
||||
+ MSGPATH(path1, tmp, file, Tmp);
|
||||
+ /* build final filename to use */
|
||||
+ if (maildir_file_path(mailbox, tmp, sizeof(tmp)))
|
||||
+ MSGPATH(path2, tmp, file, New); /* copy in NEW */
|
||||
+ if(stat(path1, &sbuf) < 0 && errno == ENOENT
|
||||
+ && stat(path2, &sbuf) < 0 && errno == ENOENT)
|
||||
+ done++;
|
||||
+ else
|
||||
+ fail++;
|
||||
+ if(fail == 1000){
|
||||
+ snprintf (tmp, sizeof(tmp), "Failure to create append message name");
|
||||
+ mm_log (tmp, ERROR);
|
||||
+ return NIL;
|
||||
+ }
|
||||
+ } while (done == 0);
|
||||
+
|
||||
+ if ((fd = open (path1,O_WRONLY|O_CREAT|O_EXCL,S_IREAD|S_IWRITE)) < 0) {
|
||||
+ snprintf (tmp, sizeof(tmp), "Can't open append mailbox: %s", strerror (errno));
|
||||
@ -1887,15 +1917,18 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
||||
+ }
|
||||
+ fs_give ((void **) &s); /* flush the buffer */
|
||||
+ close (fd); /* close the file */
|
||||
+ /* build final filename to use */
|
||||
+ if (maildir_file_path(mailbox, tmp, sizeof(tmp)))
|
||||
+ MSGPATH(path2, tmp, file, New);
|
||||
+
|
||||
+ if (rename (path1,path2) < 0) {
|
||||
+ snprintf (tmp, sizeof(tmp), "Message append failed: %s", strerror (errno));
|
||||
+ mm_log (tmp, ERROR);
|
||||
+ ret = NIL;
|
||||
+ }
|
||||
+ unlink (path1);
|
||||
+ if(date){
|
||||
+ time_t tp[2];
|
||||
+ tp[0] = tp[1] = ti;
|
||||
+ utime (path2,tp);
|
||||
+ }
|
||||
+
|
||||
+ if (ret)
|
||||
+ if (!(*af) (stream,data,&flags,&date,&message)) ret = NIL;
|
||||
@ -2093,11 +2126,11 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
||||
+void maildir_lsub (MAILSTREAM *stream,char *ref,char *pat)
|
||||
+{
|
||||
+ void *sdb = NIL;
|
||||
+ char *s, test[MAILTMPLEN];
|
||||
+ char *s, test[MAILTMPLEN], tmp[MAILTMPLEN];
|
||||
+ /* get canonical form of name */
|
||||
+ if (maildir_canonicalize (test, ref, pat) && (s = sm_read (&sdb))) {
|
||||
+ if (maildir_canonicalize (test, ref, pat) && (s = sm_read (tmp, &sdb))) {
|
||||
+ do if (pmatch_full (s, test, '/')) mm_lsub (stream, '/', s, NIL);
|
||||
+ while ((s = sm_read (&sdb)) != NULL); /* until no more subscriptions */
|
||||
+ while ((s = sm_read (tmp, &sdb)) != NULL); /* until no more subscriptions */
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
@ -2191,7 +2224,7 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
||||
+ char c, curdir[MAILTMPLEN], tmp[MAILTMPLEN];
|
||||
+ char realname[MAILTMPLEN], realpat[MAILTMPLEN] = {'\0'};
|
||||
+ int i, found;
|
||||
+ long style = (long) maildir_parameters(GET_COURIERSTYLE, NIL), j;
|
||||
+ long style = *(long *) maildir_parameters(GET_COURIERSTYLE, NIL), j;
|
||||
+ char *maildirpath = mdirpath();
|
||||
+ COURIER_S *cdir;
|
||||
+
|
||||
@ -2780,7 +2813,7 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
||||
+void
|
||||
+courier_list_info(COURIER_S **cdirp, char *data, int i)
|
||||
+{
|
||||
+ long style = (long) maildir_parameters(GET_COURIERSTYLE, NIL);
|
||||
+ long style = *(long *) maildir_parameters(GET_COURIERSTYLE, NIL);
|
||||
+ COURIER_S *cdir = *cdirp;
|
||||
+
|
||||
+ if(maildir_valid(cdir->data[i]->name)){
|
||||
@ -3047,10 +3080,10 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.c
|
||||
+ LOCAL->uidtempfile = cpystr(tmp);
|
||||
+ }
|
||||
+}
|
||||
Index: alpine-2.11/imap/src/osdep/unix/maildir.h
|
||||
Index: alpine-2.20/imap/src/osdep/unix/maildir.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ alpine-2.11/imap/src/osdep/unix/maildir.h
|
||||
+++ alpine-2.20/imap/src/osdep/unix/maildir.h
|
||||
@@ -0,0 +1,226 @@
|
||||
+/*
|
||||
+ * A few definitions that try to make this module portable to other
|
||||
@ -3278,10 +3311,10 @@ Index: alpine-2.11/imap/src/osdep/unix/maildir.h
|
||||
+void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
|
||||
+void maildir_uid_renew_tempfile(MAILSTREAM *stream);
|
||||
+
|
||||
Index: alpine-2.11/imap/src/osdep/unix/os_cyg.h
|
||||
Index: alpine-2.20/imap/src/osdep/unix/os_cyg.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/imap/src/osdep/unix/os_cyg.h
|
||||
+++ alpine-2.11/imap/src/osdep/unix/os_cyg.h
|
||||
--- alpine-2.20.orig/imap/src/osdep/unix/os_cyg.h
|
||||
+++ alpine-2.20/imap/src/osdep/unix/os_cyg.h
|
||||
@@ -47,6 +47,7 @@
|
||||
#define setpgrp setpgid
|
||||
|
||||
@ -3290,11 +3323,11 @@ Index: alpine-2.11/imap/src/osdep/unix/os_cyg.h
|
||||
#define geteuid Geteuid
|
||||
uid_t Geteuid (void);
|
||||
|
||||
Index: alpine-2.11/pith/conf.c
|
||||
Index: alpine-2.20/pith/conf.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/conf.c
|
||||
+++ alpine-2.11/pith/conf.c
|
||||
@@ -434,6 +434,9 @@ CONF_TXT_T cf_text_window_position[] = "
|
||||
--- alpine-2.20.orig/pith/conf.c
|
||||
+++ alpine-2.20/pith/conf.c
|
||||
@@ -436,6 +436,9 @@ CONF_TXT_T cf_text_window_position[] = "
|
||||
|
||||
CONF_TXT_T cf_text_newsrc_path[] = "Full path and name of NEWSRC file";
|
||||
|
||||
@ -3304,7 +3337,7 @@ Index: alpine-2.11/pith/conf.c
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
These are the variables that control a number of pine functions. They
|
||||
@@ -638,6 +641,10 @@ static struct variable variables[] = {
|
||||
@@ -642,6 +645,10 @@ static struct variable variables[] = {
|
||||
NULL, cf_text_news_active},
|
||||
{"news-spool-directory", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
||||
NULL, cf_text_news_spooldir},
|
||||
@ -3315,7 +3348,7 @@ Index: alpine-2.11/pith/conf.c
|
||||
{"upload-command", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
||||
NULL, cf_text_upload_cmd},
|
||||
{"upload-command-prefix", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
|
||||
@@ -2271,6 +2278,12 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||
@@ -2283,6 +2290,12 @@ init_vars(struct pine *ps, void (*cmds_f
|
||||
mail_parameters(NULL, SET_NEWSSPOOL,
|
||||
(void *)VAR_NEWS_SPOOL_DIR);
|
||||
|
||||
@ -3328,7 +3361,7 @@ Index: alpine-2.11/pith/conf.c
|
||||
/* guarantee a save default */
|
||||
set_current_val(&vars[V_DEFAULT_SAVE_FOLDER], TRUE, TRUE);
|
||||
if(!VAR_DEFAULT_SAVE_FOLDER || !VAR_DEFAULT_SAVE_FOLDER[0])
|
||||
@@ -2909,6 +2922,10 @@ feature_list(int index)
|
||||
@@ -2921,6 +2934,10 @@ feature_list(int index)
|
||||
F_SORT_DEFAULT_SAVE_ALPHA, h_config_sort_save_alpha, PREF_FLDR, 0},
|
||||
{"vertical-folder-list", "Use Vertical Folder List",
|
||||
F_VERTICAL_FOLDER_LIST, h_config_vertical_list, PREF_FLDR, 0},
|
||||
@ -3339,20 +3372,30 @@ Index: alpine-2.11/pith/conf.c
|
||||
|
||||
/* Addr book */
|
||||
{"combined-addrbook-display", "Combined Address Book Display",
|
||||
@@ -7034,6 +7051,12 @@ toggle_feature(struct pine *ps, struct v
|
||||
@@ -7047,7 +7064,7 @@ toggle_feature(struct pine *ps, struct v
|
||||
int just_flip_value, EditWhich ew)
|
||||
{
|
||||
char **vp, *p, **lval, ***alval;
|
||||
- int og, on_before, was_set;
|
||||
+ int og, on_before, was_set, i;
|
||||
char *err;
|
||||
long l;
|
||||
|
||||
@@ -7100,6 +7117,13 @@ toggle_feature(struct pine *ps, struct v
|
||||
|
||||
break;
|
||||
|
||||
+#ifndef _WINDOWS
|
||||
+ case F_COURIER_FOLDER_LIST:
|
||||
+ mail_parameters(NULL,SET_COURIERSTYLE,(void *)(F_ON(f->id ,ps)? 1 : 0));
|
||||
+ i = F_ON(f->id ,ps) ? 1 : 0;
|
||||
+ mail_parameters(NULL,SET_COURIERSTYLE, (void *) &i);
|
||||
+ break; /* COURIER == 1, CCLIENT == 0, see maildir.h */
|
||||
+#endif
|
||||
+
|
||||
case F_COLOR_LINE_IMPORTANT :
|
||||
case F_DATES_TO_LOCAL :
|
||||
clear_index_cache(ps->mail_stream, 0);
|
||||
@@ -7819,6 +7842,10 @@ config_help(int var, int feature)
|
||||
@@ -7887,6 +7911,10 @@ config_help(int var, int feature)
|
||||
return(h_config_newmailwidth);
|
||||
case V_NEWSRC_PATH :
|
||||
return(h_config_newsrc_path);
|
||||
@ -3363,11 +3406,11 @@ Index: alpine-2.11/pith/conf.c
|
||||
case V_BROWSER :
|
||||
return(h_config_browser);
|
||||
#if defined(DOS) || defined(OS2)
|
||||
Index: alpine-2.11/pith/conf.h
|
||||
Index: alpine-2.20/pith/conf.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/conf.h
|
||||
+++ alpine-2.11/pith/conf.h
|
||||
@@ -255,6 +255,10 @@
|
||||
--- alpine-2.20.orig/pith/conf.h
|
||||
+++ alpine-2.20/pith/conf.h
|
||||
@@ -257,6 +257,10 @@
|
||||
#define GLO_NEWS_ACTIVE_PATH vars[V_NEWS_ACTIVE_PATH].global_val.p
|
||||
#define VAR_NEWS_SPOOL_DIR vars[V_NEWS_SPOOL_DIR].current_val.p
|
||||
#define GLO_NEWS_SPOOL_DIR vars[V_NEWS_SPOOL_DIR].global_val.p
|
||||
@ -3378,11 +3421,11 @@ Index: alpine-2.11/pith/conf.h
|
||||
#define VAR_DISABLE_DRIVERS vars[V_DISABLE_DRIVERS].current_val.l
|
||||
#define VAR_DISABLE_AUTHS vars[V_DISABLE_AUTHS].current_val.l
|
||||
#define VAR_REMOTE_ABOOK_METADATA vars[V_REMOTE_ABOOK_METADATA].current_val.p
|
||||
Index: alpine-2.11/pith/conftype.h
|
||||
Index: alpine-2.20/pith/conftype.h
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/conftype.h
|
||||
+++ alpine-2.11/pith/conftype.h
|
||||
@@ -117,6 +117,9 @@ typedef enum { V_PERSONAL_NAME = 0
|
||||
--- alpine-2.20.orig/pith/conftype.h
|
||||
+++ alpine-2.20/pith/conftype.h
|
||||
@@ -118,6 +118,9 @@ typedef enum { V_PERSONAL_NAME = 0
|
||||
, V_NEWSRC_PATH
|
||||
, V_NEWS_ACTIVE_PATH
|
||||
, V_NEWS_SPOOL_DIR
|
||||
@ -3392,7 +3435,7 @@ Index: alpine-2.11/pith/conftype.h
|
||||
, V_UPLOAD_CMD
|
||||
, V_UPLOAD_CMD_PREFIX
|
||||
, V_DOWNLOAD_CMD
|
||||
@@ -393,6 +396,9 @@ typedef enum {
|
||||
@@ -395,6 +398,9 @@ typedef enum {
|
||||
F_PASS_C1_CONTROL_CHARS,
|
||||
F_SINGLE_FOLDER_LIST,
|
||||
F_VERTICAL_FOLDER_LIST,
|
||||
@ -3402,10 +3445,10 @@ Index: alpine-2.11/pith/conftype.h
|
||||
F_TAB_CHK_RECENT,
|
||||
F_AUTO_REPLY_TO,
|
||||
F_VERBOSE_POST,
|
||||
Index: alpine-2.11/pith/init.c
|
||||
Index: alpine-2.20/pith/init.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/init.c
|
||||
+++ alpine-2.11/pith/init.c
|
||||
--- alpine-2.20.orig/pith/init.c
|
||||
+++ alpine-2.20/pith/init.c
|
||||
@@ -408,6 +408,9 @@ get_mail_list(CONTEXT_S *list_cntxt, cha
|
||||
&& stricmp(filename, folder_base)){
|
||||
#else
|
||||
@ -3416,11 +3459,22 @@ Index: alpine-2.11/pith/init.c
|
||||
&& strcmp(filename, folder_base)){
|
||||
#endif
|
||||
#endif
|
||||
Index: alpine-2.11/pith/pattern.c
|
||||
Index: alpine-2.20/pith/pattern.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/pattern.c
|
||||
+++ alpine-2.11/pith/pattern.c
|
||||
@@ -5483,6 +5483,15 @@ match_pattern_folder_specific(PATTERN_S
|
||||
--- alpine-2.20.orig/pith/pattern.c
|
||||
+++ alpine-2.20/pith/pattern.c
|
||||
@@ -49,7 +49,9 @@ static char rcsid[] = "$Id: pattern.c 12
|
||||
#include "../pith/icache.h"
|
||||
#include "../pith/ablookup.h"
|
||||
#include "../pith/keyword.h"
|
||||
-
|
||||
+#ifndef _WINDOWS
|
||||
+int maildir_file_path(char *name, char *tmp, size_t sizeoftmp);
|
||||
+#endif /* _WINDOWS */
|
||||
|
||||
/*
|
||||
* Internal prototypes
|
||||
@@ -5485,6 +5487,15 @@ match_pattern_folder_specific(PATTERN_S
|
||||
break;
|
||||
|
||||
case '#':
|
||||
@ -3428,7 +3482,7 @@ Index: alpine-2.11/pith/pattern.c
|
||||
+ if(!struncmp(patfolder, "#md/", 4)
|
||||
+ || !struncmp(patfolder, "#mc/", 4)){
|
||||
+ maildir_file_path(patfolder, tmp1, sizeof(tmp1));
|
||||
+ if(!strcmp(patfolder, stream->mailbox))
|
||||
+ if(!strcmp(tmp1, stream->mailbox))
|
||||
+ match++;
|
||||
+ break;
|
||||
+ }
|
||||
@ -3436,7 +3490,7 @@ Index: alpine-2.11/pith/pattern.c
|
||||
if(!strcmp(patfolder, stream->mailbox))
|
||||
match++;
|
||||
|
||||
@@ -7903,7 +7912,7 @@ move_filtered_msgs(MAILSTREAM *stream, M
|
||||
@@ -7905,7 +7916,7 @@ move_filtered_msgs(MAILSTREAM *stream, M
|
||||
int we_cancel = 0, width;
|
||||
CONTEXT_S *save_context = NULL;
|
||||
char buf[MAX_SCREEN_COLS+1], sbuf[MAX_SCREEN_COLS+1];
|
||||
@ -3445,7 +3499,7 @@ Index: alpine-2.11/pith/pattern.c
|
||||
#define FILTMSG_MAX 30
|
||||
|
||||
if(!stream)
|
||||
@@ -7937,6 +7946,16 @@ move_filtered_msgs(MAILSTREAM *stream, M
|
||||
@@ -7939,6 +7950,16 @@ move_filtered_msgs(MAILSTREAM *stream, M
|
||||
if(F_OFF(F_QUELL_FILTER_MSGS, ps_global))
|
||||
we_cancel = busy_cue(buf, NULL, 0);
|
||||
|
||||
@ -3462,7 +3516,7 @@ Index: alpine-2.11/pith/pattern.c
|
||||
if(!is_absolute_path(dstfldr)
|
||||
&& !(save_context = default_save_context(ps_global->context_list)))
|
||||
save_context = ps_global->context_list;
|
||||
@@ -8000,6 +8019,11 @@ move_filtered_msgs(MAILSTREAM *stream, M
|
||||
@@ -8002,6 +8023,11 @@ move_filtered_msgs(MAILSTREAM *stream, M
|
||||
if(we_cancel)
|
||||
cancel_busy_cue(buf[0] ? 0 : -1);
|
||||
|
||||
@ -3474,11 +3528,11 @@ Index: alpine-2.11/pith/pattern.c
|
||||
return(buf[0] != '\0');
|
||||
}
|
||||
|
||||
Index: alpine-2.11/pith/pine.hlp
|
||||
Index: alpine-2.20/pith/pine.hlp
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/pine.hlp
|
||||
+++ alpine-2.11/pith/pine.hlp
|
||||
@@ -21664,6 +21664,102 @@ your account's home directory).
|
||||
--- alpine-2.20.orig/pith/pine.hlp
|
||||
+++ alpine-2.20/pith/pine.hlp
|
||||
@@ -22060,6 +22060,102 @@ your account's home directory).
|
||||
<End of help on this topic>
|
||||
</BODY>
|
||||
</HTML>
|
||||
@ -3581,7 +3635,7 @@ Index: alpine-2.11/pith/pine.hlp
|
||||
====== h_config_literal_sig =====
|
||||
<HTML>
|
||||
<HEAD>
|
||||
@@ -29690,6 +29786,49 @@ than across the columns as is the defaul
|
||||
@@ -30086,6 +30182,49 @@ than across the columns as is the defaul
|
||||
<P>
|
||||
<End of help on this topic>
|
||||
</BODY>
|
||||
@ -3631,11 +3685,21 @@ Index: alpine-2.11/pith/pine.hlp
|
||||
</HTML>
|
||||
====== h_config_verbose_post =====
|
||||
<HTML>
|
||||
Index: alpine-2.11/pith/send.c
|
||||
Index: alpine-2.20/pith/send.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/pith/send.c
|
||||
+++ alpine-2.11/pith/send.c
|
||||
@@ -257,6 +257,13 @@ postponed_stream(MAILSTREAM **streamp, c
|
||||
--- alpine-2.20.orig/pith/send.c
|
||||
+++ alpine-2.20/pith/send.c
|
||||
@@ -47,6 +47,9 @@ static char rcsid[] = "$Id: send.c 1204
|
||||
|
||||
#include "../c-client/smtp.h"
|
||||
#include "../c-client/nntp.h"
|
||||
+#ifndef _WINDOWS
|
||||
+int maildir_file_path(char *name, char *tmp, size_t sizeoftmp);
|
||||
+#endif /* _WINDOWS */
|
||||
|
||||
|
||||
/* this is used in pine_send and pine_simple_send */
|
||||
@@ -257,6 +260,13 @@ postponed_stream(MAILSTREAM **streamp, c
|
||||
|
||||
if(exists & FEX_ISFILE){
|
||||
context_apply(tmp, p_cntxt, mbox, sizeof(tmp));
|
||||
|
@ -2,11 +2,11 @@
|
||||
imap/src/c-client/mail.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: alpine-2.11/imap/src/c-client/mail.c
|
||||
Index: alpine-2.20/imap/src/c-client/mail.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/imap/src/c-client/mail.c
|
||||
+++ alpine-2.11/imap/src/c-client/mail.c
|
||||
@@ -3361,13 +3361,13 @@ unsigned long mail_filter (char *text,un
|
||||
--- alpine-2.20.orig/imap/src/c-client/mail.c
|
||||
+++ alpine-2.20/imap/src/c-client/mail.c
|
||||
@@ -3400,13 +3400,13 @@ unsigned long mail_filter (char *text,un
|
||||
long flags)
|
||||
{
|
||||
STRINGLIST *hdrs;
|
||||
@ -22,7 +22,7 @@ Index: alpine-2.11/imap/src/c-client/mail.c
|
||||
while (src < end) { /* process header */
|
||||
/* slurp header line name */
|
||||
for (s = src,e = s + MAILTMPLEN - 1,e = (e < end ? e : end),t = tmp;
|
||||
@@ -3406,6 +3406,10 @@ unsigned long mail_filter (char *text,un
|
||||
@@ -3447,6 +3447,10 @@ unsigned long mail_filter (char *text,un
|
||||
}
|
||||
}
|
||||
*dst = '\0'; /* tie off destination */
|
||||
|
69
lint.diff
Normal file
69
lint.diff
Normal file
@ -0,0 +1,69 @@
|
||||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
Date: 2015-03-25 18:25:22.663262139 +0100
|
||||
|
||||
rpmlint:
|
||||
W: alpine implicit-pointer-decl dmail.c:160
|
||||
W: alpine implicit-pointer-decl mlock.c:114
|
||||
W: alpine implicit-pointer-decl tmail.c:168
|
||||
E: alpine no-return-in-nonvoid-function imap.c:2790
|
||||
|
||||
gcc:
|
||||
dmail.c:160:5: warning: implicit declaration of function 'isdigit' [-Wimplicit-function-declaration]
|
||||
mlock.c:114:5: warning: implicit declaration of function 'time' [-Wimplicit-function-declaration]
|
||||
tmail.c:168:7: warning: implicit declaration of function 'isdigit' [-Wimplicit-function-declaration]
|
||||
imap.c:2790:1: warning: control reaches end of non-void function [-Wreturn-type]
|
||||
---
|
||||
alpine/imap.c | 1 +
|
||||
imap/src/dmail/dmail.c | 1 +
|
||||
imap/src/mlock/mlock.c | 1 +
|
||||
imap/src/tmail/tmail.c | 1 +
|
||||
4 files changed, 4 insertions(+)
|
||||
|
||||
Index: alpine-2.20/alpine/imap.c
|
||||
===================================================================
|
||||
--- alpine-2.20.orig/alpine/imap.c
|
||||
+++ alpine-2.20/alpine/imap.c
|
||||
@@ -2786,6 +2786,7 @@ if(F_OFF(F_DISABLE_PASSWORD_FILE_SAVING,
|
||||
return(want_to(_("Preserve password on DISK for next login"),
|
||||
'y', 'x', NO_HELP, WT_NORM)
|
||||
== 'y');
|
||||
+return 0;
|
||||
#endif /* PASSFILE */
|
||||
}
|
||||
|
||||
Index: alpine-2.20/imap/src/dmail/dmail.c
|
||||
===================================================================
|
||||
--- alpine-2.20.orig/imap/src/dmail/dmail.c
|
||||
+++ alpine-2.20/imap/src/dmail/dmail.c
|
||||
@@ -24,6 +24,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
+#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
#include <pwd.h>
|
||||
#include <errno.h>
|
||||
Index: alpine-2.20/imap/src/mlock/mlock.c
|
||||
===================================================================
|
||||
--- alpine-2.20.orig/imap/src/mlock/mlock.c
|
||||
+++ alpine-2.20/imap/src/mlock/mlock.c
|
||||
@@ -32,6 +32,7 @@
|
||||
#include <stdio.h>
|
||||
#include <sysexits.h>
|
||||
#include <syslog.h>
|
||||
+#include <time.h>
|
||||
#include <grp.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/file.h>
|
||||
Index: alpine-2.20/imap/src/tmail/tmail.c
|
||||
===================================================================
|
||||
--- alpine-2.20.orig/imap/src/tmail/tmail.c
|
||||
+++ alpine-2.20/imap/src/tmail/tmail.c
|
||||
@@ -23,6 +23,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
+#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
#include <pwd.h>
|
||||
#include <errno.h>
|
@ -1,26 +1,12 @@
|
||||
---
|
||||
alpine/folder.c | 2 +-
|
||||
imap/src/c-client/mail.c | 10 ++++++++--
|
||||
2 files changed, 9 insertions(+), 3 deletions(-)
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: alpine-2.11/alpine/folder.c
|
||||
Index: alpine-2.20/imap/src/c-client/mail.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/folder.c
|
||||
+++ alpine-2.11/alpine/folder.c
|
||||
@@ -6132,7 +6132,7 @@ folder_select_count(long int *count, int
|
||||
continue;
|
||||
|
||||
case 14 : /* toggle comparison */
|
||||
- *cmp = ++(*cmp) % 3;
|
||||
+ *cmp = ((*cmp) + 1) % 3;
|
||||
continue;
|
||||
|
||||
case -1 : /* cancel */
|
||||
Index: alpine-2.11/imap/src/c-client/mail.c
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/imap/src/c-client/mail.c
|
||||
+++ alpine-2.11/imap/src/c-client/mail.c
|
||||
@@ -2940,8 +2940,14 @@ long mail_parse_date (MESSAGECACHE *elt,
|
||||
--- alpine-2.20.orig/imap/src/c-client/mail.c
|
||||
+++ alpine-2.20/imap/src/c-client/mail.c
|
||||
@@ -2979,8 +2979,14 @@ long mail_parse_date (MESSAGECACHE *elt,
|
||||
/* parse time */
|
||||
d = strtoul (s+1,(char **) &s,10);
|
||||
if (*s != ':') return NIL;
|
||||
|
Loading…
Reference in New Issue
Block a user