Accepting request 487419 from server:mail
1 OBS-URL: https://build.opensuse.org/request/show/487419 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/alpine?expand=0&rev=41
This commit is contained in:
commit
060b7f38e1
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ed639b6e5bb97e6b0645c85262ca6a784316195d461ce8d8411999bf80449227
|
||||
size 4841816
|
3
alpine-2.21.tar.xz
Normal file
3
alpine-2.21.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6030b6881b8168546756ab3a5e43628d8d564539b0476578e287775573a77438
|
||||
size 4720856
|
@ -1,33 +0,0 @@
|
||||
---
|
||||
alpine/Makefile.am | 2 +-
|
||||
configure.ac | 3 ++-
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: alpine-2.11/alpine/Makefile.am
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/alpine/Makefile.am
|
||||
+++ alpine-2.11/alpine/Makefile.am
|
||||
@@ -35,7 +35,7 @@ BUILT_SOURCES = date.c
|
||||
LDADD = ../pico/libpico.a ../pico/osdep/libpicoosd.a \
|
||||
../pith/libpith.a ../pith/osdep/libpithosd.a \
|
||||
../pith/charconv/libpithcc.a \
|
||||
- osdep/libpineosd.a ../c-client/c-client.a
|
||||
+ osdep/libpineosd.a ../c-client/c-client.a -lkrb5 -lcrypto
|
||||
|
||||
AM_CPPFLAGS = -I@top_builddir@/include -I@top_srcdir@/include -DLOCALEDIR=\"$(localedir)\"
|
||||
|
||||
Index: alpine-2.11/configure.ac
|
||||
===================================================================
|
||||
--- alpine-2.11.orig/configure.ac
|
||||
+++ alpine-2.11/configure.ac
|
||||
@@ -38,8 +38,9 @@ WEB_BUILD=web/src/alpined.d
|
||||
|
||||
dnl CHECK PROGRAMS
|
||||
|
||||
-AC_PROG_CC
|
||||
AC_PROG_CC_STDC
|
||||
+AC_USE_SYSTEM_EXTENSIONS
|
||||
+AC_SYS_LARGEFILE
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_MAKE_SET
|
||||
AC_PROG_LN_S
|
@ -1,24 +1,3 @@
|
||||
---
|
||||
alpine/Makefile | 4 ++--
|
||||
alpine/Makefile.am | 4 ++--
|
||||
alpine/Makefile.in | 4 ++--
|
||||
3 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
Index: alpine-2.20/alpine/Makefile
|
||||
===================================================================
|
||||
--- alpine-2.20.orig/alpine/Makefile
|
||||
+++ alpine-2.20/alpine/Makefile
|
||||
@@ -888,8 +888,8 @@ uninstall-am: uninstall-binPROGRAMS
|
||||
|
||||
|
||||
date.c:
|
||||
- echo "char datestamp[]="\"`date`\"";" > date.c
|
||||
- echo "char hoststamp[]="\"`hostname`\"";" >> date.c
|
||||
+ echo 'char datestamp[]="today";' > date.c
|
||||
+ echo 'char hoststamp[]="sand";' >> date.c
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
Index: alpine-2.20/alpine/Makefile.am
|
||||
===================================================================
|
||||
--- alpine-2.20.orig/alpine/Makefile.am
|
||||
|
@ -1,3 +1,33 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 21 21:21:06 UTC 2017 - opensuse@dstoecker.de
|
||||
|
||||
- add chappa patch to add own rules (chappa-rules.patch)
|
||||
- add chappa patch to change from header (chappa-fromheader.patch)
|
||||
- add chappa patch to better justify paragraphs (chappa-fillpara.patch)
|
||||
- drop empty lint.diff
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 21 15:31:10 UTC 2017 - max@suse.com
|
||||
|
||||
- New version 2.21:
|
||||
* New SHORTSUBJECT, SHORTSUBJKEY and SHORTSUBJKEYINIT token for
|
||||
index format
|
||||
* New SMARTTIME24 token for index screen.
|
||||
* Added support for RFC 2971 - IMAP ID extension.
|
||||
* SMIME: Upgrade the default signature digest from SHA-1 to
|
||||
SHA-256.
|
||||
* SMIME: Turn off automatic signing and encrypting of a message
|
||||
when bouncing.
|
||||
* The complete change list can be viewed by pressing "R"
|
||||
in the Alpine main menu.
|
||||
- Updated "Chappa" patches to the latest version.
|
||||
- Obsolete patches:
|
||||
* alpine-no-add-needed.patch
|
||||
* chappa-ignoresize.patch
|
||||
* chappa-unixnullbug.patch
|
||||
* pico-stripwhitespace.diff
|
||||
* pine-nonvoid-function.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 4 14:18:00 CEST 2016 - kukuk@suse.de
|
||||
|
||||
|
24
alpine.spec
24
alpine.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package alpine
|
||||
#
|
||||
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2017 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,7 +22,7 @@ Name: alpine
|
||||
Summary: Mail User Agent
|
||||
License: Apache-2.0
|
||||
Group: Productivity/Networking/Email/Clients
|
||||
Version: 2.20
|
||||
Version: 2.21
|
||||
Release: 0
|
||||
Url: http://patches.freeiz.com/alpine/
|
||||
|
||||
@ -31,7 +31,6 @@ Url: http://patches.freeiz.com/alpine/
|
||||
Source: %name-%version.tar.xz
|
||||
Source1: %name.png
|
||||
Source2: %name.desktop
|
||||
Patch1: pine-nonvoid-function.patch
|
||||
Patch2: make-use-of-strncat-safer.diff
|
||||
Patch3: operation-may-be-undefined-warning.diff
|
||||
Patch4: fix-implicit.patch
|
||||
@ -39,21 +38,19 @@ Patch5: alpine-gcc44.diff
|
||||
Patch6: alpine-timestamp.patch
|
||||
Patch10: pico-fix-spurious-undef-warnings.diff
|
||||
Patch20: pine-expression-warnings.diff
|
||||
Patch40: pico-stripwhitespace.diff
|
||||
Patch60: signal-and-panic-improvements.diff
|
||||
Patch61: lint.diff
|
||||
#
|
||||
# Eduardo Chappa's patches.
|
||||
# http://patches.freeiz.com/alpine/
|
||||
#
|
||||
Patch600: chappa-colortext.patch
|
||||
Patch601: chappa-fancy.patch
|
||||
Patch602: chappa-ignoresize.patch
|
||||
Patch603: chappa-insertpat.patch
|
||||
Patch604: chappa-maildir.patch
|
||||
Patch605: chappa-WrtAcc.patch
|
||||
Patch606: chappa-unixnullbug.patch
|
||||
Patch613: alpine-no-add-needed.patch
|
||||
Patch614: chappa-fillpara.patch
|
||||
Patch615: chappa-fromheader.patch
|
||||
Patch616: chappa-rules.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: autoconf >= 2.69
|
||||
BuildRequires: imap-devel
|
||||
@ -121,16 +118,15 @@ fi
|
||||
#
|
||||
%patch600 -p1
|
||||
%patch601 -p1
|
||||
%patch602 -p1
|
||||
%patch603 -p1
|
||||
%patch604 -p1
|
||||
%patch605 -p1
|
||||
%patch606 -p1
|
||||
%patch613 -p1
|
||||
%patch614 -p1
|
||||
%patch615 -p1
|
||||
%patch616 -p1
|
||||
#
|
||||
# SuSE patches - warning fixes, etc:
|
||||
#
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
@ -138,9 +134,7 @@ fi
|
||||
%patch6 -p1
|
||||
%patch10 -p1
|
||||
%patch20 -p1
|
||||
%patch40 -p1
|
||||
%patch60 -p1
|
||||
%patch61 -p1
|
||||
%endif # End of "if !{build_vanilla}"
|
||||
|
||||
%build
|
||||
@ -214,7 +208,7 @@ install -D -m644 %{SOURCE2} $RPM_BUILD_ROOT/usr/share/applications/%name.desktop
|
||||
ln -sf alpine $RPM_BUILD_ROOT%{_bindir}/pine
|
||||
:
|
||||
install -m755 pico/{pico,pilot} $RPM_BUILD_ROOT%{_bindir}
|
||||
install -m644 doc/{pico.1,pilot.1} $RPM_BUILD_ROOT%{_mandir}/man1/
|
||||
install -m644 doc/man1/{pico.1,pilot.1} $RPM_BUILD_ROOT%{_mandir}/man1/
|
||||
|
||||
%check
|
||||
#since where are no logs in the package at the moment, there are no checks,
|
||||
|
@ -1,351 +1,354 @@
|
||||
---
|
||||
pico/basic.c | 183 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
pico/composer.c | 9 ++
|
||||
pico/display.c | 7 +-
|
||||
pico/ebind.h | 8 +-
|
||||
pico/efunc.h | 3
|
||||
pico/main.c | 6 +
|
||||
pico/search.c | 6 -
|
||||
7 files changed, 214 insertions(+), 8 deletions(-)
|
||||
|
||||
Index: alpine-2.20/pico/basic.c
|
||||
===================================================================
|
||||
--- alpine-2.20.orig/pico/basic.c
|
||||
+++ alpine-2.20/pico/basic.c
|
||||
@@ -342,6 +342,189 @@ gotobop(int f, int n)
|
||||
return(TRUE);
|
||||
}
|
||||
|
||||
+unsigned char GetAccent()
|
||||
+{
|
||||
+ UCS c,d;
|
||||
+ c = GetKey();
|
||||
+ if ((c == '?') || (c == '!')) {
|
||||
+ d = c;
|
||||
+ c = '\\';
|
||||
+ }
|
||||
+ else
|
||||
+ if ((c == 's') || (c == 'S')){
|
||||
+ c = d = 's';
|
||||
+ }
|
||||
+ else
|
||||
+ if ((c == 'l') || (c == 'L')){
|
||||
+ c = d = 'l';
|
||||
+ }
|
||||
+ else
|
||||
+ d = GetKey();
|
||||
+ return accent(c,d);
|
||||
+}
|
||||
+
|
||||
+int pineaccent(f,n)
|
||||
+ int f,n;
|
||||
+{ unsigned char e;
|
||||
+
|
||||
+ if (e = GetAccent())
|
||||
+ execute(e, 0, 1);
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+unsigned char accent(f,n)
|
||||
+UCS f,n;
|
||||
+{ UCS c,d;
|
||||
+
|
||||
+ c = f;
|
||||
+ d = n;
|
||||
+ switch(c){
|
||||
+ case '~' :
|
||||
+ switch(d){
|
||||
+ case 'a' : return '\343';
|
||||
+ case 'n' : return '\361';
|
||||
+ case 'o' : return '\365';
|
||||
+ case 'A' : return '\303';
|
||||
+ case 'N' : return '\321';
|
||||
+ case 'O' : return '\325';
|
||||
+ }
|
||||
+ break;
|
||||
+ case '\047' :
|
||||
+ switch(d){
|
||||
+ case 'a' : return '\341';
|
||||
+ case 'e' : return '\351';
|
||||
+ case 'i' : return '\355';
|
||||
+ case 'o' : return '\363';
|
||||
+ case 'u' : return '\372';
|
||||
+ case 'y' : return '\375';
|
||||
+ case 'A' : return '\301';
|
||||
+ case 'E' : return '\311';
|
||||
+ case 'I' : return '\315';
|
||||
+ case 'O' : return '\323';
|
||||
+ case 'U' : return '\332';
|
||||
+ case 'Y' : return '\335';
|
||||
+ }
|
||||
+ break;
|
||||
+ case '"' :
|
||||
+ switch(d){
|
||||
+ case 'a' : return '\344';
|
||||
+ case 'e' : return '\353';
|
||||
+ case 'i' : return '\357';
|
||||
+ case 'o' : return '\366';
|
||||
+ case 'u' : return '\374';
|
||||
+ case 'y' : return '\377';
|
||||
+ case 'A' : return '\304';
|
||||
+ case 'E' : return '\313';
|
||||
+ case 'I' : return '\317';
|
||||
+ case 'O' : return '\326';
|
||||
+ case 'U' : return '\334';
|
||||
+ }
|
||||
+ break;
|
||||
+ case '^' :
|
||||
+ switch(d){
|
||||
+ case 'a' : return '\342';
|
||||
+ case 'e' : return '\352';
|
||||
+ case 'i' : return '\356';
|
||||
+ case 'o' : return '\364';
|
||||
+ case 'u' : return '\373';
|
||||
+ case 'A' : return '\302';
|
||||
+ case 'E' : return '\312';
|
||||
+ case 'I' : return '\316';
|
||||
+ case 'O' : return '\324';
|
||||
+ case 'U' : return '\333';
|
||||
+ case '0' : return '\260';
|
||||
+ case '1' : return '\271';
|
||||
+ case '2' : return '\262';
|
||||
+ case '3' : return '\263';
|
||||
+ }
|
||||
+ break;
|
||||
+ case '`' :
|
||||
+ switch(d){
|
||||
+ case 'a' : return '\340';
|
||||
+ case 'e' : return '\350';
|
||||
+ case 'i' : return '\354';
|
||||
+ case 'o' : return '\362';
|
||||
+ case 'u' : return '\371';
|
||||
+ case 'A' : return '\300';
|
||||
+ case 'E' : return '\310';
|
||||
+ case 'I' : return '\314';
|
||||
+ case 'O' : return '\322';
|
||||
+ case 'U' : return '\331';
|
||||
+ }
|
||||
+ break;
|
||||
+ case 'o' :
|
||||
+ switch(d){
|
||||
+ case 'a' : return '\345';
|
||||
+ case 'A' : return '\305';
|
||||
+ case '/' : return '\370';
|
||||
+ case 'r' : return '\256';
|
||||
+ case 'R' : return '\256';
|
||||
+ case 'c' : return '\251';
|
||||
+ case 'C' : return '\251';
|
||||
+ }
|
||||
+ break;
|
||||
+ case '-' :
|
||||
+ switch(d){
|
||||
+ case 'o' : return '\272';
|
||||
+ case 'O' : return '\272';
|
||||
+ case '0' : return '\272';
|
||||
+ case 'a' : return '\252';
|
||||
+ case 'A' : return '\252';
|
||||
+ case 'l' : return '\243';
|
||||
+ case 'L' : return '\243';
|
||||
+ }
|
||||
+ break;
|
||||
+ case 'O' :
|
||||
+ switch(d){
|
||||
+ case '/' : return '\330';
|
||||
+ case 'r' : return '\256';
|
||||
+ case 'R' : return '\256';
|
||||
+ case 'c' : return '\251';
|
||||
+ case 'C' : return '\251';
|
||||
+ }
|
||||
+ case '/' :
|
||||
+ switch(d){
|
||||
+ case 'o' : return '\370';
|
||||
+ case 'O' : return '\330';
|
||||
+ }
|
||||
+ break;
|
||||
+ case 'a' :
|
||||
+ switch(d){
|
||||
+ case 'e' : return '\346';
|
||||
+ case 'E' : return '\346';
|
||||
+ }
|
||||
+ break;
|
||||
+ case 'A' :
|
||||
+ switch(d){
|
||||
+ case 'E' : return '\306';
|
||||
+ case 'e' : return '\306';
|
||||
+ }
|
||||
+ break;
|
||||
+ case ',' :
|
||||
+ switch(d){
|
||||
+ case 'c' : return '\347';
|
||||
+ case 'C' : return '\307';
|
||||
+ }
|
||||
+ break;
|
||||
+ case '\\' :
|
||||
+ switch(d){
|
||||
+ case '?' : return '\277';
|
||||
+ case '!' : return '\241';
|
||||
+ }
|
||||
+ break;
|
||||
+ case 's' :
|
||||
+ switch(d){
|
||||
+ case 's' : return '\337';
|
||||
+ }
|
||||
+ break;
|
||||
+ case 'l' :
|
||||
+ switch(d){
|
||||
+ case 'l' : return '\243';
|
||||
+ }
|
||||
+ break;
|
||||
diff -rc alpine-2.21/pico/basic.c alpine-2.21.WrtAcc/pico/basic.c
|
||||
*** alpine-2.21/pico/basic.c Sun Feb 5 16:02:36 2017
|
||||
--- alpine-2.21.WrtAcc/pico/basic.c Sun Feb 5 16:15:24 2017
|
||||
***************
|
||||
*** 342,347 ****
|
||||
--- 342,530 ----
|
||||
return(TRUE);
|
||||
}
|
||||
|
||||
+ unsigned char GetAccent()
|
||||
+ {
|
||||
+ UCS c,d;
|
||||
+ c = GetKey();
|
||||
+ if ((c == '?') || (c == '!')) {
|
||||
+ d = c;
|
||||
+ c = '\\';
|
||||
+ }
|
||||
+ else
|
||||
+ if ((c == 's') || (c == 'S')){
|
||||
+ c = d = 's';
|
||||
+ }
|
||||
+ return '\0';
|
||||
+}
|
||||
|
||||
/*
|
||||
* go forword to the end of the current paragraph
|
||||
Index: alpine-2.20/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];
|
||||
|
||||
if(VALID_KEY(ch)){ /* char input */
|
||||
- /*
|
||||
+insert_char:/*
|
||||
* if we are allowing editing, insert the new char
|
||||
* end up leaving tbufp pointing to newly
|
||||
* inserted character in string, and offset to the
|
||||
@@ -2095,6 +2095,13 @@ LineEdit(int allowedit, UCS *lastch)
|
||||
}
|
||||
else { /* interpret ch as a command */
|
||||
switch (ch = normalize_cmd(ch, ckm, 2)) {
|
||||
+ case (CTRL|'\\') :
|
||||
+ if (ch = GetAccent())
|
||||
+ goto insert_char;
|
||||
+ else
|
||||
+ clearcursor();
|
||||
+ break;
|
||||
+
|
||||
case (CTRL|KEY_LEFT): /* word skip left */
|
||||
if(ods.p_ind > 0) /* Scoot one char left if possible */
|
||||
ods.p_ind--;
|
||||
Index: alpine-2.20/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;
|
||||
|
||||
+ case (CTRL|'\\'):
|
||||
+ if (c = GetAccent())
|
||||
+ goto text;
|
||||
+ continue;
|
||||
+
|
||||
case (CTRL|'F') : /* CTRL-F forward a char*/
|
||||
case KEY_RIGHT :
|
||||
if(*b == '\0')
|
||||
@@ -1881,7 +1886,7 @@ mlreplyd(UCS *prompt, UCS *buf, int nbuf
|
||||
#endif
|
||||
|
||||
default :
|
||||
-
|
||||
+text:
|
||||
/* look for match in extra_v */
|
||||
for(i = 0; i < 12; i++)
|
||||
if(c && c == extra_v[i]){
|
||||
Index: alpine-2.20/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},
|
||||
#ifndef _WINDOWS
|
||||
- {CTRL|'\\', toggle_xterm_mouse},
|
||||
+ {CTRL|'|', toggle_xterm_mouse},
|
||||
#endif
|
||||
#endif
|
||||
{CTRL|'A', gotobol},
|
||||
@@ -100,7 +100,9 @@ KEYTAB keytab[NBINDS] = {
|
||||
{CTRL|KEY_HOME, gotobob},
|
||||
{CTRL|KEY_END, gotoeob},
|
||||
{0x7F, backdel},
|
||||
- {0, NULL}
|
||||
+ {CTRL|'\\', pineaccent},
|
||||
+ {0,
|
||||
+NULL}
|
||||
};
|
||||
|
||||
|
||||
@@ -123,7 +125,7 @@ KEYTAB pkeytab[NBINDS] = {
|
||||
#ifdef MOUSE
|
||||
{KEY_MOUSE, mousepress},
|
||||
#ifndef _WINDOWS
|
||||
- {CTRL|'\\', toggle_xterm_mouse},
|
||||
+ {CTRL|'|', toggle_xterm_mouse},
|
||||
#endif
|
||||
#endif
|
||||
{CTRL|'A', gotobol},
|
||||
Index: alpine-2.20/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);
|
||||
extern int gotoeop(int, int);
|
||||
+extern int pineaccent(int, int);
|
||||
+extern unsigned char accent(UCS, UCS);
|
||||
+extern unsigned char GetAccent(void);
|
||||
extern int forwpage(int, int);
|
||||
extern int backpage(int, int);
|
||||
extern int scrollupline(int, int);
|
||||
Index: alpine-2.20/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);
|
||||
}
|
||||
|
||||
+ if (c == (CTRL|'\\')){
|
||||
+ c = GetAccent();
|
||||
+ if (!c)
|
||||
+ c = NODATA;
|
||||
+ }
|
||||
+
|
||||
if(km_popped)
|
||||
switch(c){
|
||||
case NODATA:
|
||||
Index: alpine-2.20/pico/search.c
|
||||
===================================================================
|
||||
--- 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;
|
||||
status++;
|
||||
}
|
||||
@@ -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..*/
|
||||
+ if (eq(c, (unsigned char)patrn[0]) != FALSE) { /* if we find it..*/
|
||||
/* setup match pointers */
|
||||
matchline = curline;
|
||||
matchoff = curoff;
|
||||
@@ -1117,7 +1117,7 @@ forscan(int *wrapt, /* boolean indicatin
|
||||
return(FALSE);
|
||||
|
||||
/* and test it against the pattern */
|
||||
- if (eq(*patptr, c) == FALSE)
|
||||
+ if (eq((unsigned char) *patptr, c) == FALSE)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
+ else
|
||||
+ if ((c == 'l') || (c == 'L')){
|
||||
+ c = d = 'l';
|
||||
+ }
|
||||
+ else
|
||||
+ d = GetKey();
|
||||
+ return accent(c,d);
|
||||
+ }
|
||||
+
|
||||
+ int pineaccent(f,n)
|
||||
+ int f,n;
|
||||
+ { unsigned char e;
|
||||
+
|
||||
+ if (e = GetAccent())
|
||||
+ execute(e, 0, 1);
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ unsigned char accent(f,n)
|
||||
+ UCS f,n;
|
||||
+ { UCS c,d;
|
||||
+
|
||||
+ c = f;
|
||||
+ d = n;
|
||||
+ switch(c){
|
||||
+ case '~' :
|
||||
+ switch(d){
|
||||
+ case 'a' : return '\343';
|
||||
+ case 'n' : return '\361';
|
||||
+ case 'o' : return '\365';
|
||||
+ case 'A' : return '\303';
|
||||
+ case 'N' : return '\321';
|
||||
+ case 'O' : return '\325';
|
||||
+ }
|
||||
+ break;
|
||||
+ case '\047' :
|
||||
+ switch(d){
|
||||
+ case 'a' : return '\341';
|
||||
+ case 'e' : return '\351';
|
||||
+ case 'i' : return '\355';
|
||||
+ case 'o' : return '\363';
|
||||
+ case 'u' : return '\372';
|
||||
+ case 'y' : return '\375';
|
||||
+ case 'A' : return '\301';
|
||||
+ case 'E' : return '\311';
|
||||
+ case 'I' : return '\315';
|
||||
+ case 'O' : return '\323';
|
||||
+ case 'U' : return '\332';
|
||||
+ case 'Y' : return '\335';
|
||||
+ }
|
||||
+ break;
|
||||
+ case '"' :
|
||||
+ switch(d){
|
||||
+ case 'a' : return '\344';
|
||||
+ case 'e' : return '\353';
|
||||
+ case 'i' : return '\357';
|
||||
+ case 'o' : return '\366';
|
||||
+ case 'u' : return '\374';
|
||||
+ case 'y' : return '\377';
|
||||
+ case 'A' : return '\304';
|
||||
+ case 'E' : return '\313';
|
||||
+ case 'I' : return '\317';
|
||||
+ case 'O' : return '\326';
|
||||
+ case 'U' : return '\334';
|
||||
+ }
|
||||
+ break;
|
||||
+ case '^' :
|
||||
+ switch(d){
|
||||
+ case 'a' : return '\342';
|
||||
+ case 'e' : return '\352';
|
||||
+ case 'i' : return '\356';
|
||||
+ case 'o' : return '\364';
|
||||
+ case 'u' : return '\373';
|
||||
+ case 'A' : return '\302';
|
||||
+ case 'E' : return '\312';
|
||||
+ case 'I' : return '\316';
|
||||
+ case 'O' : return '\324';
|
||||
+ case 'U' : return '\333';
|
||||
+ case '0' : return '\260';
|
||||
+ case '1' : return '\271';
|
||||
+ case '2' : return '\262';
|
||||
+ case '3' : return '\263';
|
||||
+ }
|
||||
+ break;
|
||||
+ case '`' :
|
||||
+ switch(d){
|
||||
+ case 'a' : return '\340';
|
||||
+ case 'e' : return '\350';
|
||||
+ case 'i' : return '\354';
|
||||
+ case 'o' : return '\362';
|
||||
+ case 'u' : return '\371';
|
||||
+ case 'A' : return '\300';
|
||||
+ case 'E' : return '\310';
|
||||
+ case 'I' : return '\314';
|
||||
+ case 'O' : return '\322';
|
||||
+ case 'U' : return '\331';
|
||||
+ }
|
||||
+ break;
|
||||
+ case 'o' :
|
||||
+ switch(d){
|
||||
+ case 'a' : return '\345';
|
||||
+ case 'A' : return '\305';
|
||||
+ case '/' : return '\370';
|
||||
+ case 'r' : return '\256';
|
||||
+ case 'R' : return '\256';
|
||||
+ case 'c' : return '\251';
|
||||
+ case 'C' : return '\251';
|
||||
+ }
|
||||
+ break;
|
||||
+ case '-' :
|
||||
+ switch(d){
|
||||
+ case 'o' : return '\272';
|
||||
+ case 'O' : return '\272';
|
||||
+ case '0' : return '\272';
|
||||
+ case 'a' : return '\252';
|
||||
+ case 'A' : return '\252';
|
||||
+ case 'l' : return '\243';
|
||||
+ case 'L' : return '\243';
|
||||
+ }
|
||||
+ break;
|
||||
+ case 'O' :
|
||||
+ switch(d){
|
||||
+ case '/' : return '\330';
|
||||
+ case 'r' : return '\256';
|
||||
+ case 'R' : return '\256';
|
||||
+ case 'c' : return '\251';
|
||||
+ case 'C' : return '\251';
|
||||
+ }
|
||||
+ case '/' :
|
||||
+ switch(d){
|
||||
+ case 'o' : return '\370';
|
||||
+ case 'O' : return '\330';
|
||||
+ }
|
||||
+ break;
|
||||
+ case 'a' :
|
||||
+ switch(d){
|
||||
+ case 'e' : return '\346';
|
||||
+ case 'E' : return '\346';
|
||||
+ }
|
||||
+ break;
|
||||
+ case 'A' :
|
||||
+ switch(d){
|
||||
+ case 'E' : return '\306';
|
||||
+ case 'e' : return '\306';
|
||||
+ }
|
||||
+ break;
|
||||
+ case ',' :
|
||||
+ switch(d){
|
||||
+ case 'c' : return '\347';
|
||||
+ case 'C' : return '\307';
|
||||
+ }
|
||||
+ break;
|
||||
+ case '\\' :
|
||||
+ switch(d){
|
||||
+ case '?' : return '\277';
|
||||
+ case '!' : return '\241';
|
||||
+ }
|
||||
+ break;
|
||||
+ case 's' :
|
||||
+ switch(d){
|
||||
+ case 's' : return '\337';
|
||||
+ }
|
||||
+ break;
|
||||
+ case 'l' :
|
||||
+ switch(d){
|
||||
+ case 'l' : return '\243';
|
||||
+ }
|
||||
+ break;
|
||||
+ }
|
||||
+ return '\0';
|
||||
+ }
|
||||
|
||||
/*
|
||||
* go forword to the end of the current paragraph
|
||||
diff -rc alpine-2.21/pico/composer.c alpine-2.21.WrtAcc/pico/composer.c
|
||||
*** alpine-2.21/pico/composer.c Sun Feb 5 16:02:36 2017
|
||||
--- alpine-2.21.WrtAcc/pico/composer.c Sun Feb 5 16:15:24 2017
|
||||
***************
|
||||
*** 2015,2021 ****
|
||||
tbufp = &strng[ods.p_len];
|
||||
|
||||
if(VALID_KEY(ch)){ /* char input */
|
||||
! /*
|
||||
* if we are allowing editing, insert the new char
|
||||
* end up leaving tbufp pointing to newly
|
||||
* inserted character in string, and offset to the
|
||||
--- 2015,2021 ----
|
||||
tbufp = &strng[ods.p_len];
|
||||
|
||||
if(VALID_KEY(ch)){ /* char input */
|
||||
! insert_char:/*
|
||||
* if we are allowing editing, insert the new char
|
||||
* end up leaving tbufp pointing to newly
|
||||
* inserted character in string, and offset to the
|
||||
***************
|
||||
*** 2095,2100 ****
|
||||
--- 2095,2107 ----
|
||||
}
|
||||
else { /* interpret ch as a command */
|
||||
switch (ch = normalize_cmd(ch, ckm, 2)) {
|
||||
+ case (CTRL|'\\') :
|
||||
+ if (ch = GetAccent())
|
||||
+ goto insert_char;
|
||||
+ else
|
||||
+ clearcursor();
|
||||
+ break;
|
||||
+
|
||||
case (CTRL|KEY_LEFT): /* word skip left */
|
||||
if(ods.p_ind > 0) /* Scoot one char left if possible */
|
||||
ods.p_ind--;
|
||||
diff -rc alpine-2.21/pico/display.c alpine-2.21.WrtAcc/pico/display.c
|
||||
*** alpine-2.21/pico/display.c Sun Feb 5 16:02:36 2017
|
||||
--- alpine-2.21.WrtAcc/pico/display.c Sun Feb 5 16:15:24 2017
|
||||
***************
|
||||
*** 2196,2201 ****
|
||||
--- 2196,2206 ----
|
||||
b = &buf[ucs4_strlen(buf)];
|
||||
continue;
|
||||
|
||||
+ case (CTRL|'\\'):
|
||||
+ if (c = GetAccent())
|
||||
+ goto text;
|
||||
+ continue;
|
||||
+
|
||||
case (CTRL|'F') : /* CTRL-F forward a char*/
|
||||
case KEY_RIGHT :
|
||||
if(*b == '\0')
|
||||
***************
|
||||
*** 2314,2320 ****
|
||||
#endif
|
||||
|
||||
default :
|
||||
!
|
||||
/* look for match in extra_v */
|
||||
for(i = 0; i < 12; i++)
|
||||
if(c && c == extra_v[i]){
|
||||
--- 2319,2325 ----
|
||||
#endif
|
||||
|
||||
default :
|
||||
! text:
|
||||
/* look for match in extra_v */
|
||||
for(i = 0; i < 12; i++)
|
||||
if(c && c == extra_v[i]){
|
||||
diff -rc alpine-2.21/pico/ebind.h alpine-2.21.WrtAcc/pico/ebind.h
|
||||
*** alpine-2.21/pico/ebind.h Sun Feb 5 16:02:36 2017
|
||||
--- alpine-2.21.WrtAcc/pico/ebind.h Sun Feb 5 16:15:24 2017
|
||||
***************
|
||||
*** 61,67 ****
|
||||
#ifdef MOUSE
|
||||
{KEY_MOUSE, mousepress},
|
||||
#ifndef _WINDOWS
|
||||
! {CTRL|'\\', toggle_xterm_mouse},
|
||||
#endif
|
||||
#endif
|
||||
{CTRL|'A', gotobol},
|
||||
--- 61,67 ----
|
||||
#ifdef MOUSE
|
||||
{KEY_MOUSE, mousepress},
|
||||
#ifndef _WINDOWS
|
||||
! {CTRL|'|', toggle_xterm_mouse},
|
||||
#endif
|
||||
#endif
|
||||
{CTRL|'A', gotobol},
|
||||
***************
|
||||
*** 100,106 ****
|
||||
{CTRL|KEY_HOME, gotobob},
|
||||
{CTRL|KEY_END, gotoeob},
|
||||
{0x7F, backdel},
|
||||
! {0, NULL}
|
||||
};
|
||||
|
||||
|
||||
--- 100,108 ----
|
||||
{CTRL|KEY_HOME, gotobob},
|
||||
{CTRL|KEY_END, gotoeob},
|
||||
{0x7F, backdel},
|
||||
! {CTRL|'\\', pineaccent},
|
||||
! {0,
|
||||
! NULL}
|
||||
};
|
||||
|
||||
|
||||
***************
|
||||
*** 123,129 ****
|
||||
#ifdef MOUSE
|
||||
{KEY_MOUSE, mousepress},
|
||||
#ifndef _WINDOWS
|
||||
! {CTRL|'\\', toggle_xterm_mouse},
|
||||
#endif
|
||||
#endif
|
||||
{CTRL|'A', gotobol},
|
||||
--- 125,131 ----
|
||||
#ifdef MOUSE
|
||||
{KEY_MOUSE, mousepress},
|
||||
#ifndef _WINDOWS
|
||||
! {CTRL|'|', toggle_xterm_mouse},
|
||||
#endif
|
||||
#endif
|
||||
{CTRL|'A', gotobol},
|
||||
diff -rc alpine-2.21/pico/efunc.h alpine-2.21.WrtAcc/pico/efunc.h
|
||||
*** alpine-2.21/pico/efunc.h Sun Feb 5 16:02:36 2017
|
||||
--- alpine-2.21.WrtAcc/pico/efunc.h Sun Feb 5 16:15:24 2017
|
||||
***************
|
||||
*** 54,59 ****
|
||||
--- 54,62 ----
|
||||
extern int backline(int, int);
|
||||
extern int gotobop(int, int);
|
||||
extern int gotoeop(int, int);
|
||||
+ extern int pineaccent(int, int);
|
||||
+ extern unsigned char accent(UCS, UCS);
|
||||
+ extern unsigned char GetAccent(void);
|
||||
extern int forwpage(int, int);
|
||||
extern int backpage(int, int);
|
||||
extern int scrollupline(int, int);
|
||||
diff -rc alpine-2.21/pico/main.c alpine-2.21.WrtAcc/pico/main.c
|
||||
*** alpine-2.21/pico/main.c Sun Feb 5 16:02:36 2017
|
||||
--- alpine-2.21.WrtAcc/pico/main.c Sun Feb 5 16:15:24 2017
|
||||
***************
|
||||
*** 451,456 ****
|
||||
--- 451,462 ----
|
||||
emlwrite(_("You may possibly have new mail."), NULL);
|
||||
}
|
||||
|
||||
+ if (c == (CTRL|'\\')){
|
||||
+ c = GetAccent();
|
||||
+ if (!c)
|
||||
+ c = NODATA;
|
||||
+ }
|
||||
+
|
||||
if(km_popped)
|
||||
switch(c){
|
||||
case NODATA:
|
||||
|
File diff suppressed because it is too large
Load Diff
7218
chappa-fancy.patch
7218
chappa-fancy.patch
File diff suppressed because it is too large
Load Diff
4114
chappa-fillpara.patch
Normal file
4114
chappa-fillpara.patch
Normal file
File diff suppressed because it is too large
Load Diff
159
chappa-fromheader.patch
Normal file
159
chappa-fromheader.patch
Normal file
@ -0,0 +1,159 @@
|
||||
diff -rc alpine-2.21/alpine/send.c alpine-2.21.fromheader/alpine/send.c
|
||||
*** alpine-2.21/alpine/send.c Sun Feb 5 16:02:36 2017
|
||||
--- alpine-2.21.fromheader/alpine/send.c Sun Feb 5 16:15:24 2017
|
||||
***************
|
||||
*** 913,919 ****
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_NONE},
|
||||
{"From : ", "From", h_composer_from, 10, 0, NULL,
|
||||
build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete,
|
||||
! 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, KS_TOADDRBOOK},
|
||||
{"Reply-To: ", "Reply To", h_composer_reply_to, 10, 0, NULL,
|
||||
build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete,
|
||||
0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, KS_TOADDRBOOK},
|
||||
--- 913,919 ----
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_NONE},
|
||||
{"From : ", "From", h_composer_from, 10, 0, NULL,
|
||||
build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete,
|
||||
! 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_TOADDRBOOK},
|
||||
{"Reply-To: ", "Reply To", h_composer_reply_to, 10, 0, NULL,
|
||||
build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete,
|
||||
0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, KS_TOADDRBOOK},
|
||||
***************
|
||||
*** 2367,2372 ****
|
||||
--- 2367,2377 ----
|
||||
he->rich_header = 0;
|
||||
}
|
||||
}
|
||||
+ if (F_ON(F_ALLOW_CHANGING_FROM, ps_global) &&
|
||||
+ !ps_global->never_allow_changing_from){
|
||||
+ he->display_it = 1; /* show it */
|
||||
+ he->rich_header = 0;
|
||||
+ }
|
||||
|
||||
he_from = he;
|
||||
break;
|
||||
***************
|
||||
*** 3104,3110 ****
|
||||
if(outgoing->return_path)
|
||||
mail_free_address(&outgoing->return_path);
|
||||
|
||||
! outgoing->return_path = rfc822_cpy_adr(outgoing->from);
|
||||
|
||||
/*
|
||||
* Don't ever believe the sender that is there.
|
||||
--- 3109,3117 ----
|
||||
if(outgoing->return_path)
|
||||
mail_free_address(&outgoing->return_path);
|
||||
|
||||
! outgoing->return_path = F_ON(F_USE_DOMAIN_NAME,ps_global)
|
||||
! ? rfc822_cpy_adr(generate_from())
|
||||
! : rfc822_cpy_adr(outgoing->from);
|
||||
|
||||
/*
|
||||
* Don't ever believe the sender that is there.
|
||||
diff -rc alpine-2.21/pith/conf.c alpine-2.21.fromheader/pith/conf.c
|
||||
*** alpine-2.21/pith/conf.c Sun Feb 5 16:02:36 2017
|
||||
--- alpine-2.21.fromheader/pith/conf.c Sun Feb 5 16:15:24 2017
|
||||
***************
|
||||
*** 2884,2889 ****
|
||||
--- 2884,2891 ----
|
||||
F_NO_FCC_ATTACH, h_config_no_fcc_attach, PREF_SEND, 0},
|
||||
{"fcc-on-bounce", "Include Fcc When Bouncing Messages",
|
||||
F_FCC_ON_BOUNCE, h_config_fcc_on_bounce, PREF_SEND, 0},
|
||||
+ {"return-path-uses-domain-name", NULL,
|
||||
+ F_USE_DOMAIN_NAME, h_config_use_domain, PREF_SEND, 0},
|
||||
{"mark-fcc-seen", NULL,
|
||||
F_MARK_FCC_SEEN, h_config_mark_fcc_seen, PREF_SEND, 0},
|
||||
{"fcc-only-without-confirm", "Send to Fcc Only Without Confirming",
|
||||
diff -rc alpine-2.21/pith/conftype.h alpine-2.21.fromheader/pith/conftype.h
|
||||
*** alpine-2.21/pith/conftype.h Sun Feb 5 16:02:36 2017
|
||||
--- alpine-2.21.fromheader/pith/conftype.h Sun Feb 5 16:15:24 2017
|
||||
***************
|
||||
*** 399,404 ****
|
||||
--- 399,405 ----
|
||||
F_AUTO_REPLY_TO,
|
||||
F_VERBOSE_POST,
|
||||
F_FCC_ON_BOUNCE,
|
||||
+ F_USE_DOMAIN_NAME,
|
||||
F_SEND_WO_CONFIRM,
|
||||
F_USE_SENDER_NOT_X,
|
||||
F_BLANK_KEYMENU,
|
||||
diff -rc alpine-2.21/pith/pine.hlp alpine-2.21.fromheader/pith/pine.hlp
|
||||
*** alpine-2.21/pith/pine.hlp Sun Feb 5 16:02:36 2017
|
||||
--- alpine-2.21.fromheader/pith/pine.hlp Sun Feb 5 16:15:24 2017
|
||||
***************
|
||||
*** 28940,28945 ****
|
||||
--- 28940,28961 ----
|
||||
<End of help on this topic>
|
||||
</BODY>
|
||||
</HTML>
|
||||
+ ====== h_config_use_domain =====
|
||||
+ <HTML>
|
||||
+ <HEAD>
|
||||
+ <TITLE>FEATURE: <!--#echo var="FEAT_return-path-uses-domain-name"--> </TITLE>
|
||||
+ </HEAD>
|
||||
+ <BODY>
|
||||
+ <H1>FEATURE: <!--#echo var="FEAT_return-path-uses-domain-name"--></H1>
|
||||
+
|
||||
+ If you enable this configuration option Pine will use your domain name and your
|
||||
+ username in that domain name to construct your Return-Path header, if not Pine
|
||||
+ will use the address that you have set in the From: field to construct it.
|
||||
+
|
||||
+ <P>
|
||||
+ <End of help on this topic>
|
||||
+ </BODY>
|
||||
+ </HTML>
|
||||
====== h_config_use_sender_not_x =====
|
||||
<HTML>
|
||||
<HEAD>
|
||||
diff -rc alpine-2.21/pith/send.c alpine-2.21.fromheader/pith/send.c
|
||||
*** alpine-2.21/pith/send.c Sun Feb 5 16:02:36 2017
|
||||
--- alpine-2.21.fromheader/pith/send.c Sun Feb 5 16:15:24 2017
|
||||
***************
|
||||
*** 53,59 ****
|
||||
/* name::type::canedit::writehdr::localcopy::rcptto */
|
||||
PINEFIELD pf_template[] = {
|
||||
{"X-Auth-Received", FreeText, 0, 1, 1, 0}, /* N_AUTHRCVD */
|
||||
! {"From", Address, 0, 1, 1, 0},
|
||||
{"Reply-To", Address, 0, 1, 1, 0},
|
||||
{TONAME, Address, 1, 1, 1, 1},
|
||||
{CCNAME, Address, 1, 1, 1, 1},
|
||||
--- 53,59 ----
|
||||
/* name::type::canedit::writehdr::localcopy::rcptto */
|
||||
PINEFIELD pf_template[] = {
|
||||
{"X-Auth-Received", FreeText, 0, 1, 1, 0}, /* N_AUTHRCVD */
|
||||
! {"From", Address, 1, 1, 1, 0},
|
||||
{"Reply-To", Address, 0, 1, 1, 0},
|
||||
{TONAME, Address, 1, 1, 1, 1},
|
||||
{CCNAME, Address, 1, 1, 1, 1},
|
||||
***************
|
||||
*** 1232,1238 ****
|
||||
*p = *(p+4);
|
||||
|
||||
pf->type = pf_template[i].type;
|
||||
! pf->canedit = pf_template[i].canedit;
|
||||
pf->rcptto = pf_template[i].rcptto;
|
||||
pf->writehdr = pf_template[i].writehdr;
|
||||
pf->localcopy = pf_template[i].localcopy;
|
||||
--- 1232,1238 ----
|
||||
*p = *(p+4);
|
||||
|
||||
pf->type = pf_template[i].type;
|
||||
! pf->canedit = (i == N_FROM) ? CAN_EDIT(ps_global) : pf_template[i].canedit;
|
||||
pf->rcptto = pf_template[i].rcptto;
|
||||
pf->writehdr = pf_template[i].writehdr;
|
||||
pf->localcopy = pf_template[i].localcopy;
|
||||
diff -rc alpine-2.21/pith/send.h alpine-2.21.fromheader/pith/send.h
|
||||
*** alpine-2.21/pith/send.h Sun Feb 5 16:02:36 2017
|
||||
--- alpine-2.21.fromheader/pith/send.h Sun Feb 5 16:15:24 2017
|
||||
***************
|
||||
*** 159,164 ****
|
||||
--- 159,166 ----
|
||||
unsigned text_written:1;
|
||||
};
|
||||
|
||||
+ #define CAN_EDIT(x) (!((x)->never_allow_changing_from) && \
|
||||
+ F_ON(F_ALLOW_CHANGING_FROM, (x)))
|
||||
|
||||
#define TONAME "To"
|
||||
#define CCNAME "cc"
|
@ -1,112 +0,0 @@
|
||||
---
|
||||
alpine/mailcmd.c | 3 +++
|
||||
pith/conf.c | 2 ++
|
||||
pith/conftype.h | 1 +
|
||||
pith/pine.hlp | 35 +++++++++++++++++++++++++++++++++++
|
||||
pith/save.c | 1 +
|
||||
5 files changed, 42 insertions(+)
|
||||
|
||||
Index: alpine-2.20/alpine/mailcmd.c
|
||||
===================================================================
|
||||
--- 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}
|
||||
};
|
||||
|
||||
+ if(F_ON(F_IGNORE_SIZE, ps_global))
|
||||
+ return 'y';
|
||||
+
|
||||
if(flags & SSCP_INIT || flags & SSCP_END){
|
||||
if(flags & SSCP_END && possible_corruption)
|
||||
q_status_message(SM_ORDER, 3, 3, "There is possible data corruption, check the results");
|
||||
Index: alpine-2.20/pith/conf.c
|
||||
===================================================================
|
||||
--- 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},
|
||||
+ {"ignore-size-changes", NULL,
|
||||
+ F_IGNORE_SIZE, h_config_ignore_size, PREF_MISC, 0},
|
||||
{"maildrops-preserve-state", NULL,
|
||||
F_MAILDROPS_PRESERVE_STATE, h_config_maildrops_preserve_state,
|
||||
PREF_MISC, 0},
|
||||
Index: alpine-2.20/pith/conftype.h
|
||||
===================================================================
|
||||
--- 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,
|
||||
+ F_IGNORE_SIZE,
|
||||
F_SHOW_DELAY_CUE,
|
||||
F_CANCEL_CONFIRM,
|
||||
F_AUTO_OPEN_NEXT_UNREAD,
|
||||
Index: alpine-2.20/pith/pine.hlp
|
||||
===================================================================
|
||||
--- 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>
|
||||
+<li><a href="h_config_ignore_size">FEATURE: <!--#echo var="FEAT_ignore-size-changes"--></a>
|
||||
<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>
|
||||
@@ -31183,6 +31184,40 @@ but that is not implemented.
|
||||
|
||||
<P>
|
||||
<End of help on this topic>
|
||||
+</BODY>
|
||||
+</HTML>
|
||||
+====== h_config_ignore_size =====
|
||||
+<HTML>
|
||||
+<HEAD>
|
||||
+<TITLE>FEATURE: <!--#echo var="FEAT_ignore-size-changes"--></TITLE>
|
||||
+</HEAD>
|
||||
+<BODY>
|
||||
+<H1>FEATURE: <!--#echo var="FEAT_ignore-size-changes"--></H1>
|
||||
+
|
||||
+When you have an account residing in an IMAP server, Alpine gets the size of
|
||||
+each message from the server. However, when Alpine saves a message residing
|
||||
+in an IMAP server, Alpine computes the size of the message independently. If
|
||||
+these two numbers do not match for a message, Alpine asks you if you still
|
||||
+want to take the risk of saving the message, since data corruption or loss
|
||||
+of data could result of this save.
|
||||
+
|
||||
+<P>
|
||||
+Sometimes the root of this problem is that the server is defective, and
|
||||
+there will not be loss of information when saving such message. Enabling
|
||||
+this feature will make Aline ignore such error and continue saving the
|
||||
+message. If you can determine that this is the case, enable this feature
|
||||
+so that the saving operation will succeed. An example of a defective server
|
||||
+is the Gmail IMAP server. Another example is some versions of the Exchange
|
||||
+server.
|
||||
+
|
||||
+<P>
|
||||
+It is recommended that this feature be disabled most of the time and only
|
||||
+enabled when you find a server which you can determine that has the above
|
||||
+mentioned defect, but be disabled again after making this operation
|
||||
+succeed.
|
||||
+
|
||||
+<P>
|
||||
+<End of help on this topic>
|
||||
</BODY>
|
||||
</HTML>
|
||||
====== h_config_force_low_speed =====
|
||||
Index: alpine-2.20/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",
|
||||
mn_raw2m(pkg->msgmap, raw));
|
||||
+ if(F_OFF(F_IGNORE_SIZE, ps_global))
|
||||
q_status_message(SM_ORDER, 0, 3, buf);
|
||||
}
|
||||
else{
|
@ -1,43 +1,40 @@
|
||||
---
|
||||
pico/display.c | 12 ++++++++++++
|
||||
pico/search.c | 4 ++++
|
||||
2 files changed, 16 insertions(+)
|
||||
|
||||
Index: alpine-2.20/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;
|
||||
|
||||
+ case (CTRL|'N'): /* Insert pattern */
|
||||
+ if (pat[0] != '\0'){
|
||||
+ ucs4_strncpy(buf+ucs4_strlen(buf), pat, NPAT);
|
||||
+ pputs(pat,1);
|
||||
+ b = &buf[ucs4_strlen(buf)];
|
||||
+ dline.vused += ucs4_strlen(pat);
|
||||
+ changed = TRUE;
|
||||
+ }
|
||||
+ else
|
||||
+ (*term.t_beep)();
|
||||
+ continue;
|
||||
+
|
||||
case (CTRL|'G') : /* CTRL-G help */
|
||||
if(term.t_mrow == 0 && km_popped == 0){
|
||||
movecursor(term.t_nrow-2, 0);
|
||||
Index: alpine-2.20/pico/search.c
|
||||
===================================================================
|
||||
--- 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."),
|
||||
" ",
|
||||
+N_("~ Hitting ~^~N will reinsert the last string you searched for"),
|
||||
+N_(" so that you can edit it (in case you made a mistake entering the"),
|
||||
+N_(" search pattern the first time)."),
|
||||
+" ",
|
||||
N_(" The text search is not case sensitive, and will examine the"),
|
||||
N_(" entire message."),
|
||||
" ",
|
||||
diff -rc alpine-2.21/pico/display.c alpine-2.21.insertpat/pico/display.c
|
||||
*** alpine-2.21/pico/display.c Sun Feb 5 16:02:36 2017
|
||||
--- alpine-2.21.insertpat/pico/display.c Sun Feb 5 16:15:26 2017
|
||||
***************
|
||||
*** 2205,2210 ****
|
||||
--- 2205,2222 ----
|
||||
|
||||
continue;
|
||||
|
||||
+ case (CTRL|'N'): /* Insert pattern */
|
||||
+ if (pat[0] != '\0'){
|
||||
+ ucs4_strncpy(buf+ucs4_strlen(buf), pat, NPAT);
|
||||
+ pputs(pat,1);
|
||||
+ b = &buf[ucs4_strlen(buf)];
|
||||
+ dline.vused += ucs4_strlen(pat);
|
||||
+ changed = TRUE;
|
||||
+ }
|
||||
+ else
|
||||
+ (*term.t_beep)();
|
||||
+ continue;
|
||||
+
|
||||
case (CTRL|'G') : /* CTRL-G help */
|
||||
if(term.t_mrow == 0 && km_popped == 0){
|
||||
movecursor(term.t_nrow-2, 0);
|
||||
diff -rc alpine-2.21/pico/search.c alpine-2.21.insertpat/pico/search.c
|
||||
*** alpine-2.21/pico/search.c Sun Feb 5 16:02:36 2017
|
||||
--- alpine-2.21.insertpat/pico/search.c Sun Feb 5 16:15:26 2017
|
||||
***************
|
||||
*** 122,127 ****
|
||||
--- 122,131 ----
|
||||
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."),
|
||||
" ",
|
||||
+ N_("~ Hitting ~^~N will reinsert the last string you searched for"),
|
||||
+ N_(" so that you can edit it (in case you made a mistake entering the"),
|
||||
+ N_(" search pattern the first time)."),
|
||||
+ " ",
|
||||
N_(" The text search is not case sensitive, and will examine the"),
|
||||
N_(" entire message."),
|
||||
" ",
|
||||
|
7527
chappa-maildir.patch
7527
chappa-maildir.patch
File diff suppressed because it is too large
Load Diff
6242
chappa-rules.patch
Normal file
6242
chappa-rules.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,35 +0,0 @@
|
||||
---
|
||||
imap/src/c-client/mail.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: alpine-2.20/imap/src/c-client/mail.c
|
||||
===================================================================
|
||||
--- 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;
|
||||
- int notfound;
|
||||
+ int notfound, fix = text[len - 1] == '\0';
|
||||
unsigned long i;
|
||||
char c,*s,*e,*t,tmp[MAILTMPLEN];
|
||||
char *src = text;
|
||||
char *dst = src;
|
||||
char *end = text + len;
|
||||
- text[len] = '\012'; /* guard against running off buffer */
|
||||
+ text[fix ? len - 1 : len] = '\012'; /* guard against running off buffer */
|
||||
while (src < end) { /* process header */
|
||||
/* slurp header line name */
|
||||
for (s = src,e = s + MAILTMPLEN - 1,e = (e < end ? e : end),t = tmp;
|
||||
@@ -3447,6 +3447,10 @@ unsigned long mail_filter (char *text,un
|
||||
}
|
||||
}
|
||||
*dst = '\0'; /* tie off destination */
|
||||
+ if(fix){
|
||||
+ text[len] = '\012';
|
||||
+ text[len-1] = '\0';
|
||||
+ }
|
||||
return dst - text;
|
||||
}
|
||||
|
69
lint.diff
69
lint.diff
@ -1,69 +0,0 @@
|
||||
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,33 +0,0 @@
|
||||
--- pine4.61/pico/pico.c 2004/08/12 15:24:12 1.1
|
||||
+++ pine4.61/pico/pico.c 2004/08/12 15:24:42
|
||||
@@ -898,30 +898,6 @@
|
||||
}
|
||||
|
||||
/*
|
||||
- * Remove all trailing white space from the text
|
||||
- */
|
||||
-int
|
||||
-stripwhitespace(void)
|
||||
-{
|
||||
- int i;
|
||||
- LINE *cur_line = lforw(curbp->b_linep);
|
||||
-
|
||||
- do{
|
||||
- /* we gotta test for the sigdash case here */
|
||||
- if(!(cur_line->l_used == 3 &&
|
||||
- lgetc(cur_line, 0).c == '-' &&
|
||||
- lgetc(cur_line, 1).c == '-' &&
|
||||
- lgetc(cur_line, 2).c == ' '))
|
||||
- for(i = cur_line->l_used - 1; i >= 0; i--)
|
||||
- if(ucs4_isspace(lgetc(cur_line, i).c))
|
||||
- cur_line->l_used--;
|
||||
- else
|
||||
- break;
|
||||
- }while((cur_line = lforw(cur_line)) != curbp->b_linep);
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
-/*
|
||||
* Abort.
|
||||
* Beep the beeper. Kill off any keyboard macro, etc., that is in progress.
|
||||
* Sometimes called as a routine, to do general aborting of stuff.
|
@ -1,16 +0,0 @@
|
||||
---
|
||||
pith/filter.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Index: alpine-2.10/pith/filter.c
|
||||
===================================================================
|
||||
--- alpine-2.10.orig/pith/filter.c
|
||||
+++ alpine-2.10/pith/filter.c
|
||||
@@ -7710,6 +7710,7 @@ html_element_comment(FILTER_S *f, char *
|
||||
}
|
||||
}
|
||||
}
|
||||
+ return(1); /* Is this correct? */
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user