SHA256
1
0
forked from pool/alpine

Updating link to change in openSUSE:Factory/alpine revision 46.0

OBS-URL: https://build.opensuse.org/package/show/server:mail/alpine?expand=0&rev=29d0789f4220d751d698099644a6c9a8
This commit is contained in:
OBS User buildservice-autocommit 2020-05-12 20:34:54 +00:00 committed by Git OBS Bridge
parent 361b774555
commit 40c0502f90
24 changed files with 6921 additions and 7143 deletions

12
UPDATING.txt Normal file
View File

@ -0,0 +1,12 @@
Update procedure:
Some features of Alpine do not exist in the release tarball but are only
provided as patches (but by the same author..). So when there is a new
release, the OOT patches on the website get updated too.
for i in WrtAcc colortext fancy fillpara fromheader insertpat maildir rules; do
wget -O- http://alpine.x10host.com/alpine/patches/alpine-2.22/$i.patch.gz | gzip -cd >chappa-$i.patch;
done
These do not necessarily apply cleanly, so they also need to be
quilt-refreshed as needed.

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6030b6881b8168546756ab3a5e43628d8d564539b0476578e287775573a77438
size 4720856

3
alpine-2.22.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:849567c1b6f71fde3aaa1c97cf0577b12a525d9e22c0ea47797c4bf1cd2bbfdb
size 6336604

View File

@ -1,20 +0,0 @@
diff -rc alpine-2.21/alpine/imap.c alpine-2.21.pwdfilebug/alpine/imap.c
*** alpine-2.21/alpine/imap.c 2017-02-05 17:06:22.523218671 -0700
--- alpine-2.21.pwdfilebug/alpine/imap.c 2019-04-27 16:48:22.433116057 -0600
***************
*** 2636,2642 ****
if(ps_global->pwdcert == NULL){
q_status_message(SM_ORDER, 3, 3, "Attempting to encrypt password file");
i = setup_pwdcert(&ps_global->pwdcert);
! if(i == 0 && ps_global->pwdcert == NULL)
ps_global->pwdcert = (void *) ALPINE_self_signed_certificate(NULL, 0, ps_global->pwdcertdir, MASTERNAME);
}
if(ps_global->pwdcert == NULL){ /* we tried but failed */
--- 2636,2642 ----
if(ps_global->pwdcert == NULL){
q_status_message(SM_ORDER, 3, 3, "Attempting to encrypt password file");
i = setup_pwdcert(&ps_global->pwdcert);
! if((i == 0 || i == -5) && ps_global->pwdcert == NULL)
ps_global->pwdcert = (void *) ALPINE_self_signed_certificate(NULL, 0, ps_global->pwdcertdir, MASTERNAME);
}
if(ps_global->pwdcert == NULL){ /* we tried but failed */

View File

@ -1,27 +1,16 @@
Index: alpine-2.20/alpine/Makefile.am ---
alpine/Makefile.am | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: alpine-2.22/alpine/Makefile.am
=================================================================== ===================================================================
--- alpine-2.20.orig/alpine/Makefile.am --- alpine-2.22.orig/alpine/Makefile.am
+++ alpine-2.20/alpine/Makefile.am +++ alpine-2.22/alpine/Makefile.am
@@ -48,5 +48,5 @@ AM_LDFLAGS = `cat @top_srcdir@/c-client/ @@ -50,5 +50,5 @@ AM_LDFLAGS = `cat @top_srcdir@/c-client/
CLEANFILES = date.c CLEANFILES = date.c
date.c: date.c:
- echo "char datestamp[]="\"`date`\"";" > date.c - echo "char datestamp[]="\"$(ALPINE_DATESTAMP)\"";" > date.c
- echo "char hoststamp[]="\"`hostname`\"";" >> date.c - echo "char hoststamp[]="\"$(ALPINE_HOSTSTAMP)\"";" >> date.c
+ echo 'char datestamp[]="today";' > date.c + echo "char datestamp[]="\"today\"";" > date.c
+ echo 'char hoststamp[]="sand";' >> date.c + echo "char hoststamp[]="\"sand\"";" >> date.c
Index: alpine-2.20/alpine/Makefile.in
===================================================================
--- alpine-2.20.orig/alpine/Makefile.in
+++ alpine-2.20/alpine/Makefile.in
@@ -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.

View File

@ -1,3 +1,31 @@
-------------------------------------------------------------------
Thu May 7 20:32:03 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 2.22
* Support for XOAUTH2 authentication method in Gmail.
* NTLM authentication support with the ntlm library.
* Added the "/tls1_3" flag for servers that support it.
* Add the "g" option to the select command that works in IMAP
servers that implement the X-GM-EXT-1 capability (such as the
one offered by Gmail).
* Added "/auth=XYZ" to the way to define a server. This allows
users to select the method to authenticate to an IMAP, SMTP
or POP3 server. Examples are /auth=plain, or /auth=gssapi,
etc.
* When a message is of type multipart/mixed, and its first part
is multipart/signed, Alpine will include the text of the
original message in a reply message, instead of including a
multipart attachment.
* Added backward search in the index screen.
* pico: Add -dict option to Pico, which allows users to choose a
dictionary when spelling.
- Drop /usr/bin/mailutil, it is not built by default anymore.
- Remove alpine-pinepw.patch (merged upstream)
- Add description files for patches 600-616. These live in a
separate file because (a) upstream does not offer the description
as part of the patch file, (b) redownloading the patches would
nuke any added description due to <a>.
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Aug 26 08:33:31 UTC 2019 - Jan Engelhardt <jengelh@inai.de> Mon Aug 26 08:33:31 UTC 2019 - Jan Engelhardt <jengelh@inai.de>

View File

@ -1,7 +1,7 @@
# #
# spec file for package alpine # spec file for package alpine
# #
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2020 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -22,7 +22,7 @@ Name: alpine
Summary: Mail User Agent Summary: Mail User Agent
License: Apache-2.0 License: Apache-2.0
Group: Productivity/Networking/Email/Clients Group: Productivity/Networking/Email/Clients
Version: 2.21 Version: 2.22
Release: 0 Release: 0
URL: http://alpine.x10host.com/alpine/ URL: http://alpine.x10host.com/alpine/
@ -31,12 +31,12 @@ URL: http://alpine.x10host.com/alpine/
Source: %name-%version.tar.xz Source: %name-%version.tar.xz
Source1: %name.png Source1: %name.png
Source2: %name.desktop Source2: %name.desktop
Source9: UPDATING.txt
Patch2: make-use-of-strncat-safer.diff Patch2: make-use-of-strncat-safer.diff
Patch3: operation-may-be-undefined-warning.diff Patch3: operation-may-be-undefined-warning.diff
Patch4: fix-implicit.patch Patch4: fix-implicit.patch
Patch5: alpine-gcc44.diff Patch5: alpine-gcc44.diff
Patch6: alpine-timestamp.patch Patch6: alpine-timestamp.patch
Patch7: alpine-pinepw.patch
Patch10: pico-fix-spurious-undef-warnings.diff Patch10: pico-fix-spurious-undef-warnings.diff
Patch20: pine-expression-warnings.diff Patch20: pine-expression-warnings.diff
Patch60: signal-and-panic-improvements.diff Patch60: signal-and-panic-improvements.diff
@ -45,13 +45,21 @@ Patch61: return-values.diff
# Eduardo Chappa's patches. # Eduardo Chappa's patches.
# http://patches.freeiz.com/alpine/ # http://patches.freeiz.com/alpine/
# #
Source600: chappa-colortext.txt
Patch600: chappa-colortext.patch Patch600: chappa-colortext.patch
Source601: chappa-fancy.txt
Patch601: chappa-fancy.patch Patch601: chappa-fancy.patch
Source603: chappa-insertpat.txt
Patch603: chappa-insertpat.patch Patch603: chappa-insertpat.patch
Source604: chappa-maildir.txt
Patch604: chappa-maildir.patch Patch604: chappa-maildir.patch
Source605: chappa-WrtAcc.txt
Patch605: chappa-WrtAcc.patch Patch605: chappa-WrtAcc.patch
Source614: chappa-fillpara.txt
Patch614: chappa-fillpara.patch Patch614: chappa-fillpara.patch
Source615: chappa-fromheader.txt
Patch615: chappa-fromheader.patch Patch615: chappa-fromheader.patch
Source616: chappa-rules.txt
Patch616: chappa-rules.patch Patch616: chappa-rules.patch
BuildRequires: autoconf >= 2.69 BuildRequires: autoconf >= 2.69
BuildRequires: krb5-devel BuildRequires: krb5-devel
@ -132,7 +140,6 @@ fi
%patch4 -p1 %patch4 -p1
%patch5 -p1 %patch5 -p1
%patch6 -p1 %patch6 -p1
%patch7 -p1
%patch10 -p1 %patch10 -p1
%patch20 -p1 %patch20 -p1
%patch60 -p1 %patch60 -p1
@ -196,13 +203,11 @@ perl -i -pe 's{(define SYSTYPE) "LNX"}{$1 "'"$tag"'"}g' include/config.h
make %{?_smp_mflags} EXTRACFLAGS="$CFLAGS" EXTRALDFLAGS="$EXTRALDFLAGS" make %{?_smp_mflags} EXTRACFLAGS="$CFLAGS" EXTRALDFLAGS="$EXTRALDFLAGS"
%install %install
make install DESTDIR=%buildroot %make_install
# #
# When called as alpinef, alpine uses function keys instead of Control keys: # When called as alpinef, alpine uses function keys instead of Control keys:
# #
ln %{buildroot}/%{_bindir}/alpine %{buildroot}/%{_bindir}/alpinef ln %{buildroot}/%{_bindir}/alpine %{buildroot}/%{_bindir}/alpinef
install -m755 imap/mailutil/mailutil %{buildroot}/%{_bindir}
install -m644 imap/src/mailutil/mailutil.1 %{buildroot}/%{_mandir}/man1/
install -D -m644 %{SOURCE1} %{buildroot}/%{_datadir}/pixmaps/%name.png install -D -m644 %{SOURCE1} %{buildroot}/%{_datadir}/pixmaps/%name.png
install -D -m644 %{SOURCE2} %{buildroot}/%{_datadir}/applications/%name.desktop install -D -m644 %{SOURCE2} %{buildroot}/%{_datadir}/applications/%name.desktop
%suse_update_desktop_file %name %suse_update_desktop_file %name
@ -213,8 +218,8 @@ install -m755 pico/{pico,pilot} %{buildroot}/%{_bindir}
install -m644 doc/man1/{pico.1,pilot.1} %{buildroot}/%{_mandir}/man1/ install -m644 doc/man1/{pico.1,pilot.1} %{buildroot}/%{_mandir}/man1/
%check %check
#since where are no logs in the package at the moment, there are no checks, #since there are no logs in the package at the moment, there are no checks,
#but the warning logs can be recreated for regresstion tracking in warnings: #but the warning logs can be recreated for regression tracking in warnings:
if [ -s %{_sourcedir}/compile-warnings-%{suse_version}-%{_arch}.log ]; then if [ -s %{_sourcedir}/compile-warnings-%{suse_version}-%{_arch}.log ]; then
grep -e '^[a-z0-9_]*.[cho]:' -e 'Entering directory' make.log | grep -e '^[a-z0-9_]*.[cho]:' -e 'Entering directory' make.log |
sed "s/^make\[.\]: //;/Entering directory/s/[\`']//g;" \ sed "s/^make\[.\]: //;/Entering directory/s/[\`']//g;" \
@ -269,13 +274,11 @@ fi
%doc %{_mandir}/man1/alpine.* %doc %{_mandir}/man1/alpine.*
%doc %{_mandir}/man1/rpdump.* %doc %{_mandir}/man1/rpdump.*
%doc %{_mandir}/man1/rpload.* %doc %{_mandir}/man1/rpload.*
%doc %{_mandir}/man1/mailutil.*
%doc README NOTICE LICENSE %doc README NOTICE LICENSE
%doc doc/mailcap.unx doc/mime.types doc/tech-notes/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}/*pine
%{_bindir}/alpinef %{_bindir}/alpinef
%{_bindir}/rp* %{_bindir}/rp*
%{_bindir}/mailutil
%{_datadir}/applications/%name.desktop %{_datadir}/applications/%name.desktop
%{_datadir}/pixmaps/%name.png %{_datadir}/pixmaps/%name.png

View File

@ -1,6 +1,6 @@
diff -rc alpine-2.21/pico/basic.c alpine-2.21.WrtAcc/pico/basic.c diff -rc alpine-2.22/pico/basic.c alpine-2.22.WrtAcc/pico/basic.c
*** alpine-2.21/pico/basic.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pico/basic.c 2020-01-19 01:32:18.272513938 -0700
--- alpine-2.21.WrtAcc/pico/basic.c Sun Feb 5 16:15:24 2017 --- alpine-2.22.WrtAcc/pico/basic.c 2020-01-19 01:34:53.223471368 -0700
*************** ***************
*** 342,347 **** *** 342,347 ****
--- 342,530 ---- --- 342,530 ----
@ -193,9 +193,9 @@ diff -rc alpine-2.21/pico/basic.c alpine-2.21.WrtAcc/pico/basic.c
/* /*
* go forword to the end of the current paragraph * go forword to the end of the current paragraph
diff -rc alpine-2.21/pico/composer.c alpine-2.21.WrtAcc/pico/composer.c diff -rc alpine-2.22/pico/composer.c alpine-2.22.WrtAcc/pico/composer.c
*** alpine-2.21/pico/composer.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pico/composer.c 2020-01-19 01:32:18.262514139 -0700
--- alpine-2.21.WrtAcc/pico/composer.c Sun Feb 5 16:15:24 2017 --- alpine-2.22.WrtAcc/pico/composer.c 2020-01-19 01:34:53.224471360 -0700
*************** ***************
*** 2015,2021 **** *** 2015,2021 ****
tbufp = &strng[ods.p_len]; tbufp = &strng[ods.p_len];
@ -229,9 +229,9 @@ diff -rc alpine-2.21/pico/composer.c alpine-2.21.WrtAcc/pico/composer.c
case (CTRL|KEY_LEFT): /* word skip left */ case (CTRL|KEY_LEFT): /* word skip left */
if(ods.p_ind > 0) /* Scoot one char left if possible */ if(ods.p_ind > 0) /* Scoot one char left if possible */
ods.p_ind--; ods.p_ind--;
diff -rc alpine-2.21/pico/display.c alpine-2.21.WrtAcc/pico/display.c diff -rc alpine-2.22/pico/display.c alpine-2.22.WrtAcc/pico/display.c
*** alpine-2.21/pico/display.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pico/display.c 2020-01-19 01:32:18.428510798 -0700
--- alpine-2.21.WrtAcc/pico/display.c Sun Feb 5 16:15:24 2017 --- alpine-2.22.WrtAcc/pico/display.c 2020-01-19 01:34:53.225471353 -0700
*************** ***************
*** 2196,2201 **** *** 2196,2201 ****
--- 2196,2206 ---- --- 2196,2206 ----
@ -263,9 +263,9 @@ diff -rc alpine-2.21/pico/display.c alpine-2.21.WrtAcc/pico/display.c
/* look for match in extra_v */ /* look for match in extra_v */
for(i = 0; i < 12; i++) for(i = 0; i < 12; i++)
if(c && c == extra_v[i]){ if(c && c == extra_v[i]){
diff -rc alpine-2.21/pico/ebind.h alpine-2.21.WrtAcc/pico/ebind.h diff -rc alpine-2.22/pico/ebind.h alpine-2.22.WrtAcc/pico/ebind.h
*** alpine-2.21/pico/ebind.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pico/ebind.h 2020-01-19 01:32:18.369511986 -0700
--- alpine-2.21.WrtAcc/pico/ebind.h Sun Feb 5 16:15:24 2017 --- alpine-2.22.WrtAcc/pico/ebind.h 2020-01-19 01:34:53.226471345 -0700
*************** ***************
*** 61,67 **** *** 61,67 ****
#ifdef MOUSE #ifdef MOUSE
@ -319,9 +319,9 @@ diff -rc alpine-2.21/pico/ebind.h alpine-2.21.WrtAcc/pico/ebind.h
#endif #endif
#endif #endif
{CTRL|'A', gotobol}, {CTRL|'A', gotobol},
diff -rc alpine-2.21/pico/efunc.h alpine-2.21.WrtAcc/pico/efunc.h diff -rc alpine-2.22/pico/efunc.h alpine-2.22.WrtAcc/pico/efunc.h
*** alpine-2.21/pico/efunc.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pico/efunc.h 2020-01-19 01:32:18.308513213 -0700
--- alpine-2.21.WrtAcc/pico/efunc.h Sun Feb 5 16:15:24 2017 --- alpine-2.22.WrtAcc/pico/efunc.h 2020-01-19 01:34:53.226471345 -0700
*************** ***************
*** 54,59 **** *** 54,59 ****
--- 54,62 ---- --- 54,62 ----
@ -334,12 +334,12 @@ diff -rc alpine-2.21/pico/efunc.h alpine-2.21.WrtAcc/pico/efunc.h
extern int forwpage(int, int); extern int forwpage(int, int);
extern int backpage(int, int); extern int backpage(int, int);
extern int scrollupline(int, int); extern int scrollupline(int, int);
diff -rc alpine-2.21/pico/main.c alpine-2.21.WrtAcc/pico/main.c diff -rc alpine-2.22/pico/main.c alpine-2.22.WrtAcc/pico/main.c
*** alpine-2.21/pico/main.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pico/main.c 2020-01-19 01:32:18.322512932 -0700
--- alpine-2.21.WrtAcc/pico/main.c Sun Feb 5 16:15:24 2017 --- alpine-2.22.WrtAcc/pico/main.c 2020-01-19 01:34:53.226471345 -0700
*************** ***************
*** 451,456 **** *** 458,463 ****
--- 451,462 ---- --- 458,469 ----
emlwrite(_("You may possibly have new mail."), NULL); emlwrite(_("You may possibly have new mail."), NULL);
} }

9
chappa-WrtAcc.txt Normal file
View File

@ -0,0 +1,9 @@
From: http://alpine.x10host.com/alpine/info/WrtAcc.html
Upstream: constitutes upstream source, delivered in non-tarball form
This patch allows you to write many kind of accents in Alpine and pico. You can
write characters like á. Each character is introduced using a consistent
combination of keystrokes. The first keystroke is always "^\". Then you write
the kind of accent you want to write and finally the letter over which you want
the accent to be written, so á would be written ^\'a. Other special characters
such as ß, ø and £ can be input too using special combinations described below.

View File

@ -1,9 +1,9 @@
diff -rc alpine-2.21/alpine/confscroll.c alpine-2.21.colortext/alpine/confscroll.c diff -rc alpine-2.22/alpine/confscroll.c alpine-2.22.colortext/alpine/confscroll.c
*** alpine-2.21/alpine/confscroll.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/alpine/confscroll.c 2020-01-19 01:32:20.190475483 -0700
--- alpine-2.21.colortext/alpine/confscroll.c Sun Feb 5 16:15:26 2017 --- alpine-2.22.colortext/alpine/confscroll.c 2020-01-19 01:34:56.906444203 -0700
*************** ***************
*** 5222,5227 **** *** 5228,5233 ****
--- 5222,5230 ---- --- 5228,5236 ----
clear_index_cache(ps->mail_stream, 0); clear_index_cache(ps->mail_stream, 0);
} }
@ -13,12 +13,12 @@ diff -rc alpine-2.21/alpine/confscroll.c alpine-2.21.colortext/alpine/confscroll
else if(var == &ps->vars[V_INIT_CMD_LIST]){ else if(var == &ps->vars[V_INIT_CMD_LIST]){
if(!revert) if(!revert)
q_status_message(SM_ASYNC, 0, 3, q_status_message(SM_ASYNC, 0, 3,
diff -rc alpine-2.21/pith/conf.c alpine-2.21.colortext/pith/conf.c diff -rc alpine-2.22/pith/conf.c alpine-2.22.colortext/pith/conf.c
*** alpine-2.21/pith/conf.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/conf.c 2020-01-19 01:32:18.678505766 -0700
--- alpine-2.21.colortext/pith/conf.c Sun Feb 5 16:15:26 2017 --- alpine-2.22.colortext/pith/conf.c 2020-01-19 01:34:56.908444189 -0700
*************** ***************
*** 232,237 **** *** 231,236 ****
--- 232,239 ---- --- 231,238 ----
CONF_TXT_T cf_text_fillcol[] = "Specifies the column of the screen where the composer should wrap."; CONF_TXT_T cf_text_fillcol[] = "Specifies the column of the screen where the composer should wrap.";
@ -28,8 +28,8 @@ diff -rc alpine-2.21/pith/conf.c alpine-2.21.colortext/pith/conf.c
CONF_TXT_T cf_text_quotereplstr[] = "Specifies the string to replace quotes with when viewing a message."; CONF_TXT_T cf_text_quotereplstr[] = "Specifies the string to replace quotes with when viewing a message.";
*************** ***************
*** 572,577 **** *** 577,582 ****
--- 574,581 ---- --- 579,586 ----
#endif /* _WINDOWS */ #endif /* _WINDOWS */
{"composer-wrap-column", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, {"composer-wrap-column", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
NULL, cf_text_fillcol}, NULL, cf_text_fillcol},
@ -39,8 +39,8 @@ diff -rc alpine-2.21/pith/conf.c alpine-2.21.colortext/pith/conf.c
NULL, cf_text_replystr}, NULL, cf_text_replystr},
{"reply-leadin", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, {"reply-leadin", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
*************** ***************
*** 833,838 **** *** 844,849 ****
--- 837,844 ---- --- 848,855 ----
{"incoming-unseen-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0}, {"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-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}, {"signature-background-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
@ -50,8 +50,8 @@ diff -rc alpine-2.21/pith/conf.c alpine-2.21.colortext/pith/conf.c
{"prompt-background-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}, {"header-general-foreground-color", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0},
*************** ***************
*** 2021,2026 **** *** 2035,2040 ****
--- 2027,2034 ---- --- 2041,2048 ----
set_current_val(&vars[V_DICTIONARY], TRUE, TRUE); set_current_val(&vars[V_DICTIONARY], TRUE, TRUE);
#endif /* _WINDOWS */ #endif /* _WINDOWS */
set_current_val(&vars[V_IMAGE_VIEWER], TRUE, TRUE); set_current_val(&vars[V_IMAGE_VIEWER], TRUE, TRUE);
@ -61,8 +61,8 @@ diff -rc alpine-2.21/pith/conf.c alpine-2.21.colortext/pith/conf.c
set_current_val(&vars[V_HISTORY], TRUE, TRUE); set_current_val(&vars[V_HISTORY], TRUE, TRUE);
set_current_val(&vars[V_SMTP_SERVER], TRUE, TRUE); set_current_val(&vars[V_SMTP_SERVER], TRUE, TRUE);
*************** ***************
*** 6567,6572 **** *** 6599,6604 ****
--- 6575,6581 ---- --- 6607,6613 ----
set_color_val(&vars[V_IND_OP_FORE_COLOR], 0); set_color_val(&vars[V_IND_OP_FORE_COLOR], 0);
set_color_val(&vars[V_INCUNSEEN_FORE_COLOR], 0); set_color_val(&vars[V_INCUNSEEN_FORE_COLOR], 0);
set_color_val(&vars[V_SIGNATURE_FORE_COLOR], 0); set_color_val(&vars[V_SIGNATURE_FORE_COLOR], 0);
@ -71,8 +71,8 @@ diff -rc alpine-2.21/pith/conf.c alpine-2.21.colortext/pith/conf.c
set_current_val(&ps->vars[V_INDEX_TOKEN_COLORS], TRUE, TRUE); set_current_val(&ps->vars[V_INDEX_TOKEN_COLORS], TRUE, TRUE);
set_current_val(&ps->vars[V_VIEW_HDR_COLORS], TRUE, TRUE); set_current_val(&ps->vars[V_VIEW_HDR_COLORS], TRUE, TRUE);
*************** ***************
*** 7755,7760 **** *** 7787,7792 ****
--- 7764,7771 ---- --- 7796,7803 ----
return(h_config_scroll_margin); return(h_config_scroll_margin);
case V_DEADLETS : case V_DEADLETS :
return(h_config_deadlets); return(h_config_deadlets);
@ -82,8 +82,8 @@ diff -rc alpine-2.21/pith/conf.c alpine-2.21.colortext/pith/conf.c
return(h_config_composer_wrap_column); return(h_config_composer_wrap_column);
case V_TCPOPENTIMEO : case V_TCPOPENTIMEO :
*************** ***************
*** 7922,7927 **** *** 7956,7961 ****
--- 7933,7941 ---- --- 7967,7975 ----
case V_SIGNATURE_FORE_COLOR : case V_SIGNATURE_FORE_COLOR :
case V_SIGNATURE_BACK_COLOR : case V_SIGNATURE_BACK_COLOR :
return(h_config_signature_color); return(h_config_signature_color);
@ -93,9 +93,9 @@ diff -rc alpine-2.21/pith/conf.c alpine-2.21.colortext/pith/conf.c
case V_PROMPT_FORE_COLOR : case V_PROMPT_FORE_COLOR :
case V_PROMPT_BACK_COLOR : case V_PROMPT_BACK_COLOR :
return(h_config_prompt_color); return(h_config_prompt_color);
diff -rc alpine-2.21/pith/conf.h alpine-2.21.colortext/pith/conf.h diff -rc alpine-2.22/pith/conf.h alpine-2.22.colortext/pith/conf.h
*** alpine-2.21/pith/conf.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/conf.h 2020-01-19 01:32:19.489489496 -0700
--- alpine-2.21.colortext/pith/conf.h Sun Feb 5 16:15:26 2017 --- alpine-2.22.colortext/pith/conf.h 2020-01-19 01:34:56.909444181 -0700
*************** ***************
*** 165,170 **** *** 165,170 ****
--- 165,172 ---- --- 165,172 ----
@ -108,8 +108,8 @@ diff -rc alpine-2.21/pith/conf.h alpine-2.21.colortext/pith/conf.h
#define GLO_FILLCOL vars[V_FILLCOL].global_val.p #define GLO_FILLCOL vars[V_FILLCOL].global_val.p
#define VAR_DEADLETS vars[V_DEADLETS].current_val.p #define VAR_DEADLETS vars[V_DEADLETS].current_val.p
*************** ***************
*** 463,468 **** *** 466,471 ****
--- 465,472 ---- --- 468,475 ----
#define GLO_SIGNATURE_FORE_COLOR vars[V_SIGNATURE_FORE_COLOR].global_val.p #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 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 #define GLO_SIGNATURE_BACK_COLOR vars[V_SIGNATURE_BACK_COLOR].global_val.p
@ -118,9 +118,9 @@ diff -rc alpine-2.21/pith/conf.h alpine-2.21.colortext/pith/conf.h
#define VAR_PROMPT_FORE_COLOR vars[V_PROMPT_FORE_COLOR].current_val.p #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_PROMPT_BACK_COLOR vars[V_PROMPT_BACK_COLOR].current_val.p
#define VAR_VIEW_HDR_COLORS vars[V_VIEW_HDR_COLORS].current_val.l #define VAR_VIEW_HDR_COLORS vars[V_VIEW_HDR_COLORS].current_val.l
diff -rc alpine-2.21/pith/conftype.h alpine-2.21.colortext/pith/conftype.h diff -rc alpine-2.22/pith/conftype.h alpine-2.22.colortext/pith/conftype.h
*** alpine-2.21/pith/conftype.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/conftype.h 2020-01-19 01:32:18.702505283 -0700
--- alpine-2.21.colortext/pith/conftype.h Sun Feb 5 16:15:26 2017 --- alpine-2.22.colortext/pith/conftype.h 2020-01-19 01:34:56.910444174 -0700
*************** ***************
*** 83,88 **** *** 83,88 ****
--- 83,89 ---- --- 83,89 ----
@ -132,8 +132,8 @@ diff -rc alpine-2.21/pith/conftype.h alpine-2.21.colortext/pith/conftype.h
, V_REPLY_INTRO , V_REPLY_INTRO
, V_QUOTE_REPLACE_STRING , V_QUOTE_REPLACE_STRING
*************** ***************
*** 235,240 **** *** 238,243 ****
--- 236,243 ---- --- 239,246 ----
, V_INCUNSEEN_BACK_COLOR , V_INCUNSEEN_BACK_COLOR
, V_SIGNATURE_FORE_COLOR , V_SIGNATURE_FORE_COLOR
, V_SIGNATURE_BACK_COLOR , V_SIGNATURE_BACK_COLOR
@ -142,12 +142,12 @@ diff -rc alpine-2.21/pith/conftype.h alpine-2.21.colortext/pith/conftype.h
, V_PROMPT_FORE_COLOR , V_PROMPT_FORE_COLOR
, V_PROMPT_BACK_COLOR , V_PROMPT_BACK_COLOR
, V_HEADER_GENERAL_FORE_COLOR , V_HEADER_GENERAL_FORE_COLOR
diff -rc alpine-2.21/pith/mailview.c alpine-2.21.colortext/pith/mailview.c diff -rc alpine-2.22/pith/mailview.c alpine-2.22.colortext/pith/mailview.c
*** alpine-2.21/pith/mailview.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/mailview.c 2020-01-19 01:32:18.803503250 -0700
--- alpine-2.21.colortext/pith/mailview.c Sun Feb 5 16:15:26 2017 --- alpine-2.22.colortext/pith/mailview.c 2020-01-19 01:34:56.911444167 -0700
*************** ***************
*** 282,287 **** *** 638,643 ****
--- 282,295 ---- --- 638,651 ----
if((flgs & FM_DISPLAY) if((flgs & FM_DISPLAY)
&& !(flgs & FM_NOCOLOR) && !(flgs & FM_NOCOLOR)
&& pico_usingcolor() && pico_usingcolor()
@ -163,8 +163,8 @@ diff -rc alpine-2.21/pith/mailview.c alpine-2.21.colortext/pith/mailview.c
&& ps_global->VAR_SIGNATURE_BACK_COLOR){ && ps_global->VAR_SIGNATURE_BACK_COLOR){
gf_link_filter(gf_line_test, gf_line_test_opt(color_signature, &is_in_sig)); gf_link_filter(gf_line_test, gf_line_test_opt(color_signature, &is_in_sig));
*************** ***************
*** 2503,2508 **** *** 2870,2875 ****
--- 2511,2700 ---- --- 2878,3067 ----
return(color_pair); return(color_pair);
} }
@ -355,9 +355,9 @@ diff -rc alpine-2.21/pith/mailview.c alpine-2.21.colortext/pith/mailview.c
/* /*
* The argument fieldname is something like "Subject:..." or "Subject". * The argument fieldname is something like "Subject:..." or "Subject".
diff -rc alpine-2.21/pith/mailview.h alpine-2.21.colortext/pith/mailview.h diff -rc alpine-2.22/pith/mailview.h alpine-2.22.colortext/pith/mailview.h
*** alpine-2.21/pith/mailview.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/mailview.h 2020-01-19 01:32:19.614486993 -0700
--- alpine-2.21.colortext/pith/mailview.h Sun Feb 5 16:15:26 2017 --- alpine-2.22.colortext/pith/mailview.h 2020-01-19 01:34:56.911444167 -0700
*************** ***************
*** 30,35 **** *** 30,35 ****
--- 30,41 ---- --- 30,41 ----
@ -374,8 +374,8 @@ diff -rc alpine-2.21/pith/mailview.h alpine-2.21.colortext/pith/mailview.h
#define FM_DISPLAY 0x0001 /* result is headed for display */ #define FM_DISPLAY 0x0001 /* result is headed for display */
#define FM_NEW_MESS 0x0002 /* a new message so zero out attachment descrip */ #define FM_NEW_MESS 0x0002 /* a new message so zero out attachment descrip */
*************** ***************
*** 126,131 **** *** 130,135 ****
--- 132,146 ---- --- 136,150 ----
int url_hilite(long, char *, LT_INS_S **, void *); int url_hilite(long, char *, LT_INS_S **, void *);
int handle_start_color(char *, size_t, int *, int); int handle_start_color(char *, size_t, int *, int);
int handle_end_color(char *, size_t, int *); int handle_end_color(char *, size_t, int *);
@ -391,12 +391,12 @@ diff -rc alpine-2.21/pith/mailview.h alpine-2.21.colortext/pith/mailview.h
/* /*
* BUG: BELOW IS UNIX/PC ONLY since config'd browser means nothing to webpine * BUG: BELOW IS UNIX/PC ONLY since config'd browser means nothing to webpine
diff -rc alpine-2.21/pith/pine.hlp alpine-2.21.colortext/pith/pine.hlp diff -rc alpine-2.22/pith/pine.hlp alpine-2.22.colortext/pith/pine.hlp
*** alpine-2.21/pith/pine.hlp Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/pine.hlp 2020-01-19 01:32:19.035498584 -0700
--- alpine-2.21.colortext/pith/pine.hlp Sun Feb 5 16:15:26 2017 --- alpine-2.22.colortext/pith/pine.hlp 2020-01-19 01:34:56.924444072 -0700
*************** ***************
*** 4227,4232 **** *** 4601,4606 ****
--- 4227,4233 ---- --- 4601,4607 ----
<li><a href="h_config_print_cat">OPTION: <!--#echo var="VAR_personal-print-category"--></a> <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_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> <li><a href="h_config_post_char_set">OPTION: <!--#echo var="VAR_posting-character-set"--></a>
@ -405,8 +405,8 @@ diff -rc alpine-2.21/pith/pine.hlp alpine-2.21.colortext/pith/pine.hlp
<li><a href="h_config_print_font_char_set">OPTION: Print-Font-Char-Set</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> <li><a href="h_config_print_font_name">OPTION: Print-Font-Name</a>
*************** ***************
*** 4255,4260 **** *** 4629,4634 ****
--- 4256,4262 ---- --- 4630,4636 ----
<li><a href="h_config_sending_filter">OPTION: <!--#echo var="VAR_sending-filters"--></a> <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_sendmail_path">OPTION: <!--#echo var="VAR_sendmail-path"--></a>
<li><a href="h_config_signature_color">OPTION: Signature Color</a> <li><a href="h_config_signature_color">OPTION: Signature Color</a>
@ -415,8 +415,8 @@ diff -rc alpine-2.21/pith/pine.hlp alpine-2.21.colortext/pith/pine.hlp
<li><a href="h_config_smtp_server">OPTION: <!--#echo var="VAR_smtp-server"--></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> <li><a href="h_config_sort_key">OPTION: <!--#echo var="VAR_sort-key"--></a>
*************** ***************
*** 23729,23734 **** *** 24262,24267 ****
--- 23731,23773 ---- --- 24264,24306 ----
&lt;End of help on this topic&gt; &lt;End of help on this topic&gt;
</BODY> </BODY>
</HTML> </HTML>
@ -461,11 +461,12 @@ diff -rc alpine-2.21/pith/pine.hlp alpine-2.21.colortext/pith/pine.hlp
<HTML> <HTML>
<HEAD> <HEAD>
*************** ***************
*** 32340,32345 **** *** 32864,32869 ****
--- 32379,32408 ---- --- 32903,32932 ----
<P> <P>
<A HREF="h_color_setup">Descriptions of the available commands</A> <A HREF="h_color_setup">Descriptions of the available commands</A>
<P> + <P>
+ Look <A HREF="h_edit_nav_cmds">here</A> + Look <A HREF="h_edit_nav_cmds">here</A>
+ to see the available Editing and Navigation commands. + to see the available Editing and Navigation commands.
+ <P> + <P>
@ -489,16 +490,15 @@ diff -rc alpine-2.21/pith/pine.hlp alpine-2.21.colortext/pith/pine.hlp
+ +
+ <P> + <P>
+ <A HREF="h_color_setup">Descriptions of the available commands</A> + <A HREF="h_color_setup">Descriptions of the available commands</A>
+ <P> <P>
Look <A HREF="h_edit_nav_cmds">here</A> Look <A HREF="h_edit_nav_cmds">here</A>
to see the available Editing and Navigation commands. to see the available Editing and Navigation commands.
<P> diff -rc alpine-2.22/pith/state.c alpine-2.22.colortext/pith/state.c
diff -rc alpine-2.21/pith/state.c alpine-2.21.colortext/pith/state.c *** alpine-2.22/pith/state.c 2020-01-19 01:32:18.700505323 -0700
*** alpine-2.21/pith/state.c Sun Feb 5 16:02:36 2017 --- alpine-2.22.colortext/pith/state.c 2020-01-19 01:34:56.926444057 -0700
--- alpine-2.21.colortext/pith/state.c Sun Feb 5 16:15:26 2017
*************** ***************
*** 134,139 **** *** 138,143 ****
--- 134,142 ---- --- 138,146 ----
if((*pps)->folders_dir != NULL) if((*pps)->folders_dir != NULL)
fs_give((void **)&(*pps)->folders_dir); fs_give((void **)&(*pps)->folders_dir);
@ -508,12 +508,12 @@ diff -rc alpine-2.21/pith/state.c alpine-2.21.colortext/pith/state.c
if((*pps)->ui.homedir) if((*pps)->ui.homedir)
fs_give((void **)&(*pps)->ui.homedir); fs_give((void **)&(*pps)->ui.homedir);
diff -rc alpine-2.21/pith/state.h alpine-2.21.colortext/pith/state.h diff -rc alpine-2.22/pith/state.h alpine-2.22.colortext/pith/state.h
*** alpine-2.21/pith/state.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/state.h 2020-01-19 01:32:18.561508121 -0700
--- alpine-2.21.colortext/pith/state.h Sun Feb 5 16:15:26 2017 --- alpine-2.22.colortext/pith/state.h 2020-01-19 01:34:56.926444057 -0700
*************** ***************
*** 338,343 **** *** 340,345 ****
--- 338,345 ---- --- 340,347 ----
char *display_charmap; /* needs to be freed */ char *display_charmap; /* needs to be freed */
char *keyboard_charmap; /* needs to be freed */ char *keyboard_charmap; /* needs to be freed */
void *input_cs; void *input_cs;
@ -522,9 +522,9 @@ diff -rc alpine-2.21/pith/state.h alpine-2.21.colortext/pith/state.h
char *posting_charmap; /* needs to be freed */ char *posting_charmap; /* needs to be freed */
diff -rc alpine-2.21/pith/text.c alpine-2.21.colortext/pith/text.c diff -rc alpine-2.22/pith/text.c alpine-2.22.colortext/pith/text.c
*** alpine-2.21/pith/text.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/text.c 2020-01-19 01:32:19.317492939 -0700
--- alpine-2.21.colortext/pith/text.c Sun Feb 5 16:15:26 2017 --- alpine-2.22.colortext/pith/text.c 2020-01-19 01:34:56.927444050 -0700
*************** ***************
*** 171,176 **** *** 171,176 ****
--- 171,185 ---- --- 171,185 ----

7
chappa-colortext.txt Normal file
View File

@ -0,0 +1,7 @@
From: http://alpine.x10host.com/alpine/info/WrtAcc.html
Upstream: constitutes upstream source, delivered in non-tarball form
This patch allows you to define special custom text that will be seen in a
different color than normal text. This can be used in different ways, one can
use it to emphasize important keywords in a message, or to erase offensive
language.

File diff suppressed because it is too large Load Diff

42
chappa-fancy.txt Normal file
View File

@ -0,0 +1,42 @@
From: http://alpine.x10host.com/alpine/info/fancy.html
Upstream: constitutes upstream source, delivered in non-tarball form
You can use this patch to add functionality to the thread interface offered by
Alpine. It adds commands and options that control several aspects of the way
threads are presented.
* You can delete a thread, by pressing ^R (to remove), you can undelete it by
pressing ^U (without this patch, you would have to collapse the thread
before you can delete it).
* You can select and unselect a thread, by pressing ^T. This is useful if you
want to make aggregate operations on a thread, like saving it.
* You can collapse or expand a particular thread by pressing [ or ]
respectively. If you want to collapse or expand ALL threads, use the
commands { and } respectively. These last two commands work only if you
have selected any of the options (*)
regular-index-with-expanded/collapsed-threads.
* You can move to the next or previous thread by pressing ) or ( respectively.
* You can sort threads by arrival, in order to do this press k a. There are
other sorts for threads by Date and by Score. If you want to have threads
permanently sorted by arrival, say, then set the variable thread-sort-key
to be arrival. You can also start Alpine with the option -threadsort
arrival to accomplish the same.
* Similarly, you can sort threads by their length. In order to do this press
k z. Small threads appear at the beginning of the listing, while long
threads appear at the bottom. Threads of the same length are sorted
according to the date of their first message. In particular, single message
threads are sorted by date.
* A new configuration option was added:
[X] enhanced-fancy-thread-support
if you enable this configuration option, then all of the above commands
will act on loose threads, which are threads without parents.
* The SIZETHREAD index token was added, which tells you the size of a thread,
instead of the size of the individual messages in the thread.

View File

@ -1,6 +1,6 @@
diff -rc alpine-2.21/alpine/mailview.c alpine-2.21.fillpara/alpine/mailview.c diff -rc alpine-2.22/alpine/mailview.c alpine-2.22.fillpara/alpine/mailview.c
*** alpine-2.21/alpine/mailview.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/alpine/mailview.c 2020-01-19 01:32:20.102477235 -0700
--- alpine-2.21.fillpara/alpine/mailview.c Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/alpine/mailview.c 2020-05-07 16:46:16.683304031 -0600
*************** ***************
*** 204,210 **** *** 204,210 ****
--- 204,218 ---- --- 204,218 ----
@ -50,9 +50,9 @@ diff -rc alpine-2.21/alpine/mailview.c alpine-2.21.fillpara/alpine/mailview.c
if(we_cancel) if(we_cancel)
cancel_busy_cue(-1); cancel_busy_cue(-1);
diff -rc alpine-2.21/pico/basic.c alpine-2.21.fillpara/pico/basic.c diff -rc alpine-2.22/pico/basic.c alpine-2.22.fillpara/pico/basic.c
*** alpine-2.21/pico/basic.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pico/basic.c 2020-01-19 01:32:18.272513938 -0700
--- alpine-2.21.fillpara/pico/basic.c Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pico/basic.c 2020-05-07 16:46:16.691304036 -0600
*************** ***************
*** 26,34 **** *** 26,34 ****
* framing, are hard. * framing, are hard.
@ -323,11 +323,11 @@ diff -rc alpine-2.21/pico/basic.c alpine-2.21.fillpara/pico/basic.c
curwp->w_dotp = lforw(curwp->w_dotp); curwp->w_dotp = lforw(curwp->w_dotp);
curwp->w_doto = llength(curwp->w_dotp); curwp->w_doto = llength(curwp->w_dotp);
diff -rc alpine-2.21/pico/efunc.h alpine-2.21.fillpara/pico/efunc.h diff -rc alpine-2.22/pico/efunc.h alpine-2.22.fillpara/pico/efunc.h
*** alpine-2.21/pico/efunc.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pico/efunc.h 2020-01-19 01:32:18.308513213 -0700
--- alpine-2.21.fillpara/pico/efunc.h Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pico/efunc.h 2020-05-07 16:46:16.691304036 -0600
*************** ***************
*** 251,260 **** *** 253,262 ****
extern int fillpara(int, int); extern int fillpara(int, int);
extern int fillbuf(int, int); extern int fillbuf(int, int);
extern int inword(void); extern int inword(void);
@ -338,7 +338,7 @@ diff -rc alpine-2.21/pico/efunc.h alpine-2.21.fillpara/pico/efunc.h
extern int ucs4_ispunct(UCS); extern int ucs4_ispunct(UCS);
#endif /* EFUNC_H */ #endif /* EFUNC_H */
--- 251,266 ---- --- 253,268 ----
extern int fillpara(int, int); extern int fillpara(int, int);
extern int fillbuf(int, int); extern int fillbuf(int, int);
extern int inword(void); extern int inword(void);
@ -355,11 +355,11 @@ diff -rc alpine-2.21/pico/efunc.h alpine-2.21.fillpara/pico/efunc.h
#endif /* EFUNC_H */ #endif /* EFUNC_H */
+ +
diff -rc alpine-2.21/pico/line.c alpine-2.21.fillpara/pico/line.c diff -rc alpine-2.22/pico/line.c alpine-2.22.fillpara/pico/line.c
*** alpine-2.21/pico/line.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pico/line.c 2020-01-19 01:32:18.308513213 -0700
--- alpine-2.21.fillpara/pico/line.c Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pico/line.c 2020-05-07 16:46:16.691304036 -0600
*************** ***************
*** 611,626 **** *** 612,627 ****
lisblank(LINE *line) lisblank(LINE *line)
{ {
int n = 0; int n = 0;
@ -376,7 +376,7 @@ diff -rc alpine-2.21/pico/line.c alpine-2.21.fillpara/pico/line.c
return(FALSE); return(FALSE);
return(TRUE); return(TRUE);
--- 611,622 ---- --- 612,623 ----
lisblank(LINE *line) lisblank(LINE *line)
{ {
int n = 0; int n = 0;
@ -389,9 +389,9 @@ diff -rc alpine-2.21/pico/line.c alpine-2.21.fillpara/pico/line.c
return(FALSE); return(FALSE);
return(TRUE); return(TRUE);
diff -rc alpine-2.21/pico/osdep/color.h alpine-2.21.fillpara/pico/osdep/color.h diff -rc alpine-2.22/pico/osdep/color.h alpine-2.22.fillpara/pico/osdep/color.h
*** alpine-2.21/pico/osdep/color.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pico/osdep/color.h 2020-01-19 01:32:18.174515911 -0700
--- alpine-2.21.fillpara/pico/osdep/color.h Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pico/osdep/color.h 2020-05-07 16:46:16.695304038 -0600
*************** ***************
*** 33,38 **** *** 33,38 ****
--- 33,39 ---- --- 33,39 ----
@ -402,9 +402,9 @@ diff -rc alpine-2.21/pico/osdep/color.h alpine-2.21.fillpara/pico/osdep/color.h
#endif /* PICO_OSDEP_COLOR_INCLUDED */ #endif /* PICO_OSDEP_COLOR_INCLUDED */
diff -rc alpine-2.21/pico/search.c alpine-2.21.fillpara/pico/search.c diff -rc alpine-2.22/pico/search.c alpine-2.22.fillpara/pico/search.c
*** alpine-2.21/pico/search.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pico/search.c 2020-01-19 01:32:18.347512428 -0700
--- alpine-2.21.fillpara/pico/search.c Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pico/search.c 2020-05-07 16:46:16.695304038 -0600
*************** ***************
*** 36,41 **** *** 36,41 ****
--- 36,42 ---- --- 36,42 ----
@ -456,8 +456,8 @@ diff -rc alpine-2.21/pico/search.c alpine-2.21.fillpara/pico/search.c
flags &= ~SR_FORWARD; flags &= ~SR_FORWARD;
flags |= SR_BACKWRD; flags |= SR_BACKWRD;
*************** ***************
*** 1418,1420 **** *** 1420,1422 ****
--- 1421,1445 ---- --- 1423,1447 ----
if(bsearch) reverse_ucs4(orig); if(bsearch) reverse_ucs4(orig);
return utf8; return utf8;
} }
@ -483,9 +483,9 @@ diff -rc alpine-2.21/pico/search.c alpine-2.21.fillpara/pico/search.c
+ return(TRUE); + return(TRUE);
+ } + }
+ +
diff -rc alpine-2.21/pico/word.c alpine-2.21.fillpara/pico/word.c diff -rc alpine-2.22/pico/word.c alpine-2.22.fillpara/pico/word.c
*** alpine-2.21/pico/word.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pico/word.c 2020-01-19 01:32:18.244514502 -0700
--- alpine-2.21.fillpara/pico/word.c Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pico/word.c 2020-05-07 16:46:16.695304038 -0600
*************** ***************
*** 25,34 **** *** 25,34 ****
*/ */
@ -1229,12 +1229,12 @@ diff -rc alpine-2.21/pico/word.c alpine-2.21.fillpara/pico/word.c
+ return get_indent_raw_line(q, GLine, buf, buflen, k, plb); + return get_indent_raw_line(q, GLine, buf, buflen, k, plb);
+ } + }
+ +
diff -rc alpine-2.21/pith/charconv/utf8.c alpine-2.21.fillpara/pith/charconv/utf8.c diff -rc alpine-2.22/pith/charconv/utf8.c alpine-2.22.fillpara/pith/charconv/utf8.c
*** alpine-2.21/pith/charconv/utf8.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/charconv/utf8.c 2020-01-19 01:32:19.323492819 -0700
--- alpine-2.21.fillpara/pith/charconv/utf8.c Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pith/charconv/utf8.c 2020-05-07 16:46:16.699304041 -0600
*************** ***************
*** 1061,1066 **** *** 1066,1071 ****
--- 1061,1116 ---- --- 1066,1121 ----
/* /*
@ -1291,9 +1291,9 @@ diff -rc alpine-2.21/pith/charconv/utf8.c alpine-2.21.fillpara/pith/charconv/utf
* Copy UTF-8 characters from src into dst. * Copy UTF-8 characters from src into dst.
* This is intended to be used if you want to truncate a string at * This is intended to be used if you want to truncate a string at
* the start instead of the end. For example, you have a long string * the start instead of the end. For example, you have a long string
diff -rc alpine-2.21/pith/charconv/utf8.h alpine-2.21.fillpara/pith/charconv/utf8.h diff -rc alpine-2.22/pith/charconv/utf8.h alpine-2.22.fillpara/pith/charconv/utf8.h
*** alpine-2.21/pith/charconv/utf8.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/charconv/utf8.h 2020-01-19 01:32:19.323492819 -0700
--- alpine-2.21.fillpara/pith/charconv/utf8.h Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pith/charconv/utf8.h 2020-05-07 16:46:16.703304044 -0600
*************** ***************
*** 81,86 **** *** 81,86 ****
--- 81,87 ---- --- 81,87 ----
@ -1304,9 +1304,9 @@ diff -rc alpine-2.21/pith/charconv/utf8.h alpine-2.21.fillpara/pith/charconv/utf
size_t utf8_to_width_rhs(char *, char *, size_t, unsigned); size_t utf8_to_width_rhs(char *, char *, size_t, unsigned);
int utf8_snprintf(char *, size_t, char *, ...); int utf8_snprintf(char *, size_t, char *, ...);
size_t utf8_to_width(char *, char *, size_t, unsigned, unsigned *); size_t utf8_to_width(char *, char *, size_t, unsigned, unsigned *);
diff -rc alpine-2.21/pith/color.c alpine-2.21.fillpara/pith/color.c diff -rc alpine-2.22/pith/color.c alpine-2.22.fillpara/pith/color.c
*** alpine-2.21/pith/color.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/color.c 2020-01-19 01:32:19.372491838 -0700
--- alpine-2.21.fillpara/pith/color.c Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pith/color.c 2020-05-07 16:46:16.707304046 -0600
*************** ***************
*** 21,27 **** *** 21,27 ****
#include "../pith/state.h" #include "../pith/state.h"
@ -1517,9 +1517,9 @@ diff -rc alpine-2.21/pith/color.c alpine-2.21.fillpara/pith/color.c
} }
diff -rc alpine-2.21/pith/color.h alpine-2.21.fillpara/pith/color.h diff -rc alpine-2.22/pith/color.h alpine-2.22.fillpara/pith/color.h
*** alpine-2.21/pith/color.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/color.h 2020-01-19 01:32:19.396491358 -0700
--- alpine-2.21.fillpara/pith/color.h Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pith/color.h 2020-05-07 16:46:16.707304046 -0600
*************** ***************
*** 22,27 **** *** 22,27 ****
--- 22,45 ---- --- 22,45 ----
@ -1550,16 +1550,16 @@ diff -rc alpine-2.21/pith/color.h alpine-2.21.fillpara/pith/color.h
*************** ***************
*** 81,86 **** *** 81,86 ****
--- 99,105 ---- --- 99,105 ----
/* exported protoypes */ /* exported prototypes */
char *color_embed(char *, char *); char *color_embed(char *, char *);
int colorcmp(char *, char *); int colorcmp(char *, char *);
+ int next_level_quote(char *, char **, int, int); + int next_level_quote(char *, char **, int, int);
int color_a_quote(long, char *, LT_INS_S **, void *); int color_a_quote(long, char *, LT_INS_S **, void *);
void free_spec_colors(SPEC_COLOR_S **); void free_spec_colors(SPEC_COLOR_S **);
diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c diff -rc alpine-2.22/pith/filter.c alpine-2.22.fillpara/pith/filter.c
*** alpine-2.21/pith/filter.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/filter.c 2020-01-19 01:32:19.192495441 -0700
--- alpine-2.21.fillpara/pith/filter.c Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pith/filter.c 2020-05-07 16:46:16.711304048 -0600
*************** ***************
*** 46,51 **** *** 46,51 ****
--- 46,52 ---- --- 46,52 ----
@ -1571,8 +1571,8 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
#include "../pith/pipe.h" #include "../pith/pipe.h"
#include "../pith/status.h" #include "../pith/status.h"
*************** ***************
*** 9269,9274 **** *** 9270,9275 ****
--- 9270,9280 ---- --- 9271,9281 ----
margin_r, margin_r,
indent; indent;
char special[256]; char special[256];
@ -1585,8 +1585,8 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
#define WRAP_MARG_L(F) (((WRAP_S *)(F)->opt)->margin_l) #define WRAP_MARG_L(F) (((WRAP_S *)(F)->opt)->margin_l)
*************** ***************
*** 9310,9315 **** *** 9311,9316 ****
--- 9316,9327 ---- --- 9317,9328 ----
#define WRAP_COLOR(F) (((WRAP_S *)(F)->opt)->color) #define WRAP_COLOR(F) (((WRAP_S *)(F)->opt)->color)
#define WRAP_COLOR_SET(F) ((WRAP_COLOR(F)) && (WRAP_COLOR(F)->fg[0])) #define WRAP_COLOR_SET(F) ((WRAP_COLOR(F)) && (WRAP_COLOR(F)->fg[0]))
#define WRAP_SPACES(F) (((WRAP_S *)(F)->opt)->spaces) #define WRAP_SPACES(F) (((WRAP_S *)(F)->opt)->spaces)
@ -1600,8 +1600,8 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
if((F)->linep == WRAP_LASTC(F)){ \ if((F)->linep == WRAP_LASTC(F)){ \
size_t offset = (F)->linep - (F)->line; \ size_t offset = (F)->linep - (F)->line; \
*************** ***************
*** 9387,9392 **** *** 9388,9393 ****
--- 9399,9406 ---- --- 9400,9407 ----
case CCR : /* CRLF or CR in text ? */ case CCR : /* CRLF or CR in text ? */
state = BOL; /* either way, handle start */ state = BOL; /* either way, handle start */
@ -1611,7 +1611,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
/* wrapped line? */ /* wrapped line? */
if(f->f2 == 0 && WRAP_SPC_LEN(f) && WRAP_TRL_SPC(f)){ if(f->f2 == 0 && WRAP_SPC_LEN(f) && WRAP_TRL_SPC(f)){
*************** ***************
*** 9480,9486 **** *** 9481,9487 ****
case BOL : case BOL :
if(WRAP_FLOW(f)){ if(WRAP_FLOW(f)){
@ -1619,7 +1619,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
WRAP_FL_QC(f) = 1; /* init it */ WRAP_FL_QC(f) = 1; /* init it */
state = FL_QLEV; /* go collect it */ state = FL_QLEV; /* go collect it */
} }
--- 9494,9504 ---- --- 9495,9505 ----
case BOL : case BOL :
if(WRAP_FLOW(f)){ if(WRAP_FLOW(f)){
@ -1632,7 +1632,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
state = FL_QLEV; /* go collect it */ state = FL_QLEV; /* go collect it */
} }
*************** ***************
*** 9494,9500 **** *** 9495,9501 ****
} }
/* quote level change implies new paragraph */ /* quote level change implies new paragraph */
@ -1640,7 +1640,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
WRAP_FL_QD(f) = 0; WRAP_FL_QD(f) = 0;
if(WRAP_HARD(f) == 0){ if(WRAP_HARD(f) == 0){
WRAP_HARD(f) = 1; WRAP_HARD(f) = 1;
--- 9512,9527 ---- --- 9513,9528 ----
} }
/* quote level change implies new paragraph */ /* quote level change implies new paragraph */
@ -1658,7 +1658,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
if(WRAP_HARD(f) == 0){ if(WRAP_HARD(f) == 0){
WRAP_HARD(f) = 1; WRAP_HARD(f) = 1;
*************** ***************
*** 9546,9553 **** *** 9547,9554 ****
break; break;
case FL_QLEV : case FL_QLEV :
@ -1667,7 +1667,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
} }
else { else {
/* if EMBEDed, process it and return here */ /* if EMBEDed, process it and return here */
--- 9573,9584 ---- --- 9574,9585 ----
break; break;
case FL_QLEV : case FL_QLEV :
@ -1681,7 +1681,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
else { else {
/* if EMBEDed, process it and return here */ /* if EMBEDed, process it and return here */
*************** ***************
*** 9559,9565 **** *** 9560,9566 ****
} }
/* quote level change signals new paragraph */ /* quote level change signals new paragraph */
@ -1689,7 +1689,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
WRAP_FL_QD(f) = WRAP_FL_QC(f); WRAP_FL_QD(f) = WRAP_FL_QC(f);
if(WRAP_HARD(f) == 0){ /* add hard newline */ if(WRAP_HARD(f) == 0){ /* add hard newline */
WRAP_HARD(f) = 1; /* hard newline */ WRAP_HARD(f) = 1; /* hard newline */
--- 9590,9605 ---- --- 9591,9606 ----
} }
/* quote level change signals new paragraph */ /* quote level change signals new paragraph */
@ -1707,8 +1707,8 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
if(WRAP_HARD(f) == 0){ /* add hard newline */ if(WRAP_HARD(f) == 0){ /* add hard newline */
WRAP_HARD(f) = 1; /* hard newline */ WRAP_HARD(f) = 1; /* hard newline */
*************** ***************
*** 9616,9621 **** *** 9617,9622 ****
--- 9656,9668 ---- --- 9657,9669 ----
state = FL_SIG; state = FL_SIG;
break; break;
@ -1723,7 +1723,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
state = DFL; state = DFL;
goto case_dfl; /* handle c like DFL */ goto case_dfl; /* handle c like DFL */
*************** ***************
*** 9632,9638 **** *** 9633,9639 ****
&eob); /* note any embedded*/ &eob); /* note any embedded*/
wrap_eol(f, 1, &ip, &eib, wrap_eol(f, 1, &ip, &eib,
&op, &eob); /* plunk down newline */ &op, &eob); /* plunk down newline */
@ -1731,7 +1731,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
&op, &eob); /* write any prefix */ &op, &eob); /* write any prefix */
} }
--- 9679,9685 ---- --- 9680,9686 ----
&eob); /* note any embedded*/ &eob); /* note any embedded*/
wrap_eol(f, 1, &ip, &eib, wrap_eol(f, 1, &ip, &eib,
&op, &eob); /* plunk down newline */ &op, &eob); /* plunk down newline */
@ -1740,7 +1740,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
} }
*************** ***************
*** 10129,10135 **** *** 10130,10136 ****
wrap_flush_embed(f, &ip, &eib, &op, &eob); wrap_flush_embed(f, &ip, &eib, &op, &eob);
wrap_eol(f, 1, &ip, &eib, &op, wrap_eol(f, 1, &ip, &eib, &op,
&eob); /* plunk down newline */ &eob); /* plunk down newline */
@ -1748,7 +1748,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
&eob); /* write any prefix */ &eob); /* write any prefix */
} }
--- 10176,10182 ---- --- 10177,10183 ----
wrap_flush_embed(f, &ip, &eib, &op, &eob); wrap_flush_embed(f, &ip, &eib, &op, &eob);
wrap_eol(f, 1, &ip, &eib, &op, wrap_eol(f, 1, &ip, &eib, &op,
&eob); /* plunk down newline */ &eob); /* plunk down newline */
@ -1757,8 +1757,8 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
} }
*************** ***************
*** 10202,10207 **** *** 10203,10208 ****
--- 10249,10261 ---- --- 10250,10262 ----
if(WRAP_COLOR(f)) if(WRAP_COLOR(f))
free_color_pair(&WRAP_COLOR(f)); free_color_pair(&WRAP_COLOR(f));
@ -1773,7 +1773,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
so_give(&WRAP_SPACES(f)); so_give(&WRAP_SPACES(f));
fs_give((void **) &f->opt); /* free wrap widths struct */ fs_give((void **) &f->opt); /* free wrap widths struct */
*************** ***************
*** 10552,10558 **** *** 10553,10559 ****
{ {
int j, i; int j, i;
COLOR_PAIR *col = NULL; COLOR_PAIR *col = NULL;
@ -1781,7 +1781,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
if(ps_global->VAR_QUOTE_REPLACE_STRING){ if(ps_global->VAR_QUOTE_REPLACE_STRING){
get_pair(ps_global->VAR_QUOTE_REPLACE_STRING, &prefix, &last_prefix, 0, 0); get_pair(ps_global->VAR_QUOTE_REPLACE_STRING, &prefix, &last_prefix, 0, 0);
--- 10606,10613 ---- --- 10607,10614 ----
{ {
int j, i; int j, i;
COLOR_PAIR *col = NULL; COLOR_PAIR *col = NULL;
@ -1791,7 +1791,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
if(ps_global->VAR_QUOTE_REPLACE_STRING){ if(ps_global->VAR_QUOTE_REPLACE_STRING){
get_pair(ps_global->VAR_QUOTE_REPLACE_STRING, &prefix, &last_prefix, 0, 0); get_pair(ps_global->VAR_QUOTE_REPLACE_STRING, &prefix, &last_prefix, 0, 0);
*************** ***************
*** 10561,10570 **** *** 10562,10571 ****
last_prefix = NULL; last_prefix = NULL;
} }
} }
@ -1802,7 +1802,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
&& ps_global->VAR_QUOTE1_FORE_COLOR && ps_global->VAR_QUOTE1_FORE_COLOR
&& ps_global->VAR_QUOTE1_BACK_COLOR && ps_global->VAR_QUOTE1_BACK_COLOR
&& (col = new_color_pair(ps_global->VAR_QUOTE1_FORE_COLOR, && (col = new_color_pair(ps_global->VAR_QUOTE1_FORE_COLOR,
--- 10616,10637 ---- --- 10617,10638 ----
last_prefix = NULL; last_prefix = NULL;
} }
} }
@ -1826,7 +1826,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
&& ps_global->VAR_QUOTE1_BACK_COLOR && ps_global->VAR_QUOTE1_BACK_COLOR
&& (col = new_color_pair(ps_global->VAR_QUOTE1_FORE_COLOR, && (col = new_color_pair(ps_global->VAR_QUOTE1_FORE_COLOR,
*************** ***************
*** 10572,10578 **** *** 10573,10579 ****
&& pico_is_good_colorpair(col)){ && pico_is_good_colorpair(col)){
GF_COLOR_PUTC(f, col); GF_COLOR_PUTC(f, col);
} }
@ -1834,7 +1834,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
&& ps_global->VAR_QUOTE2_FORE_COLOR && ps_global->VAR_QUOTE2_FORE_COLOR
&& ps_global->VAR_QUOTE2_BACK_COLOR && ps_global->VAR_QUOTE2_BACK_COLOR
&& (col = new_color_pair(ps_global->VAR_QUOTE2_FORE_COLOR, && (col = new_color_pair(ps_global->VAR_QUOTE2_FORE_COLOR,
--- 10639,10645 ---- --- 10640,10646 ----
&& pico_is_good_colorpair(col)){ && pico_is_good_colorpair(col)){
GF_COLOR_PUTC(f, col); GF_COLOR_PUTC(f, col);
} }
@ -1843,7 +1843,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
&& ps_global->VAR_QUOTE2_BACK_COLOR && ps_global->VAR_QUOTE2_BACK_COLOR
&& (col = new_color_pair(ps_global->VAR_QUOTE2_FORE_COLOR, && (col = new_color_pair(ps_global->VAR_QUOTE2_FORE_COLOR,
*************** ***************
*** 10580,10586 **** *** 10581,10587 ****
&& pico_is_good_colorpair(col)){ && pico_is_good_colorpair(col)){
GF_COLOR_PUTC(f, col); GF_COLOR_PUTC(f, col);
} }
@ -1851,7 +1851,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
&& ps_global->VAR_QUOTE3_FORE_COLOR && ps_global->VAR_QUOTE3_FORE_COLOR
&& ps_global->VAR_QUOTE3_BACK_COLOR && ps_global->VAR_QUOTE3_BACK_COLOR
&& (col = new_color_pair(ps_global->VAR_QUOTE3_FORE_COLOR, && (col = new_color_pair(ps_global->VAR_QUOTE3_FORE_COLOR,
--- 10647,10653 ---- --- 10648,10654 ----
&& pico_is_good_colorpair(col)){ && pico_is_good_colorpair(col)){
GF_COLOR_PUTC(f, col); GF_COLOR_PUTC(f, col);
} }
@ -1860,7 +1860,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
&& ps_global->VAR_QUOTE3_BACK_COLOR && ps_global->VAR_QUOTE3_BACK_COLOR
&& (col = new_color_pair(ps_global->VAR_QUOTE3_FORE_COLOR, && (col = new_color_pair(ps_global->VAR_QUOTE3_FORE_COLOR,
*************** ***************
*** 10594,10636 **** *** 10595,10637 ****
} }
} }
@ -1904,7 +1904,7 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
return 0; return 0;
} }
--- 10661,10707 ---- --- 10662,10708 ----
} }
} }
@ -1953,8 +1953,8 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
return 0; return 0;
} }
*************** ***************
*** 10662,10667 **** *** 10663,10668 ****
--- 10733,10744 ---- --- 10734,10745 ----
wrap->hdr_color = (GFW_HDRCOLOR & flags) == GFW_HDRCOLOR; wrap->hdr_color = (GFW_HDRCOLOR & flags) == GFW_HDRCOLOR;
wrap->for_compose = (GFW_FORCOMPOSE & flags) == GFW_FORCOMPOSE; wrap->for_compose = (GFW_FORCOMPOSE & flags) == GFW_FORCOMPOSE;
wrap->handle_soft_hyphen = (GFW_SOFTHYPHEN & flags) == GFW_SOFTHYPHEN; wrap->handle_soft_hyphen = (GFW_SOFTHYPHEN & flags) == GFW_SOFTHYPHEN;
@ -1968,8 +1968,8 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
return((void *) wrap); return((void *) wrap);
} }
*************** ***************
*** 11105,11111 **** *** 11106,11112 ****
--- 11182,11396 ---- --- 11183,11397 ----
} \ } \
} }
@ -2185,9 +2185,9 @@ diff -rc alpine-2.21/pith/filter.c alpine-2.21.fillpara/pith/filter.c
/* /*
* this simple filter accumulates characters until a newline, offers it * this simple filter accumulates characters until a newline, offers it
diff -rc alpine-2.21/pith/filter.h alpine-2.21.fillpara/pith/filter.h diff -rc alpine-2.22/pith/filter.h alpine-2.22.fillpara/pith/filter.h
*** alpine-2.21/pith/filter.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/filter.h 2020-01-19 01:32:19.683485612 -0700
--- alpine-2.21.fillpara/pith/filter.h Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pith/filter.h 2020-05-07 16:46:16.715304052 -0600
*************** ***************
*** 216,221 **** *** 216,221 ****
--- 216,222 ---- --- 216,222 ----
@ -2196,11 +2196,11 @@ diff -rc alpine-2.21/pith/filter.h alpine-2.21.fillpara/pith/filter.h
void gf_local_nvtnl(FILTER_S *, int); void gf_local_nvtnl(FILTER_S *, int);
+ void gf_quote_test(FILTER_S *, int); + void gf_quote_test(FILTER_S *, int);
void *gf_url_hilite_opt(URL_HILITE_S *, HANDLE_S **, int); void *gf_url_hilite_opt(URL_HILITE_S *, HANDLE_S **, int);
void free_filter_module_globals(void);
diff -rc alpine-2.22/pith/filttype.h alpine-2.22.fillpara/pith/filttype.h
diff -rc alpine-2.21/pith/filttype.h alpine-2.21.fillpara/pith/filttype.h *** alpine-2.22/pith/filttype.h 2020-01-19 01:32:19.531488655 -0700
*** alpine-2.21/pith/filttype.h Sun Feb 5 16:02:36 2017 --- alpine-2.22.fillpara/pith/filttype.h 2020-05-07 16:46:16.715304052 -0600
--- alpine-2.21.fillpara/pith/filttype.h Sun Feb 5 16:15:23 2017
*************** ***************
*** 36,41 **** *** 36,41 ****
--- 36,43 ---- --- 36,43 ----
@ -2212,11 +2212,11 @@ diff -rc alpine-2.21/pith/filttype.h alpine-2.21.fillpara/pith/filttype.h
void *opt; /* optional per instance data */ void *opt; /* optional per instance data */
void *data; /* misc internal data pointer */ void *data; /* misc internal data pointer */
unsigned char queue[1 + GF_MAXBUF]; unsigned char queue[1 + GF_MAXBUF];
diff -rc alpine-2.21/pith/mailview.c alpine-2.21.fillpara/pith/mailview.c diff -rc alpine-2.22/pith/mailview.c alpine-2.22.fillpara/pith/mailview.c
*** alpine-2.21/pith/mailview.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/mailview.c 2020-01-19 01:32:18.803503250 -0700
--- alpine-2.21.fillpara/pith/mailview.c Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pith/mailview.c 2020-05-07 16:46:16.715304052 -0600
*************** ***************
*** 52,58 **** *** 55,61 ****
#include "../pith/escapes.h" #include "../pith/escapes.h"
#include "../pith/keyword.h" #include "../pith/keyword.h"
#include "../pith/smime.h" #include "../pith/smime.h"
@ -2224,7 +2224,7 @@ diff -rc alpine-2.21/pith/mailview.c alpine-2.21.fillpara/pith/mailview.c
#define FBUF_LEN (50) #define FBUF_LEN (50)
--- 52,62 ---- --- 55,65 ----
#include "../pith/escapes.h" #include "../pith/escapes.h"
#include "../pith/keyword.h" #include "../pith/keyword.h"
#include "../pith/smime.h" #include "../pith/smime.h"
@ -2237,7 +2237,7 @@ diff -rc alpine-2.21/pith/mailview.c alpine-2.21.fillpara/pith/mailview.c
#define FBUF_LEN (50) #define FBUF_LEN (50)
*************** ***************
*** 284,290 **** *** 640,646 ****
&& pico_usingcolor() && pico_usingcolor()
&& ps_global->VAR_SIGNATURE_FORE_COLOR && ps_global->VAR_SIGNATURE_FORE_COLOR
&& ps_global->VAR_SIGNATURE_BACK_COLOR){ && ps_global->VAR_SIGNATURE_BACK_COLOR){
@ -2245,7 +2245,7 @@ diff -rc alpine-2.21/pith/mailview.c alpine-2.21.fillpara/pith/mailview.c
} }
if((flgs & FM_DISPLAY) if((flgs & FM_DISPLAY)
--- 288,294 ---- --- 644,650 ----
&& pico_usingcolor() && pico_usingcolor()
&& ps_global->VAR_SIGNATURE_FORE_COLOR && ps_global->VAR_SIGNATURE_FORE_COLOR
&& ps_global->VAR_SIGNATURE_BACK_COLOR){ && ps_global->VAR_SIGNATURE_BACK_COLOR){
@ -2254,7 +2254,7 @@ diff -rc alpine-2.21/pith/mailview.c alpine-2.21.fillpara/pith/mailview.c
if((flgs & FM_DISPLAY) if((flgs & FM_DISPLAY)
*************** ***************
*** 292,299 **** *** 648,655 ****
&& pico_usingcolor() && pico_usingcolor()
&& ps_global->VAR_QUOTE1_FORE_COLOR && ps_global->VAR_QUOTE1_FORE_COLOR
&& ps_global->VAR_QUOTE1_BACK_COLOR){ && ps_global->VAR_QUOTE1_BACK_COLOR){
@ -2263,7 +2263,7 @@ diff -rc alpine-2.21/pith/mailview.c alpine-2.21.fillpara/pith/mailview.c
if(!(flgs & FM_NOWRAP)){ if(!(flgs & FM_NOWRAP)){
wrapflags = (flgs & FM_DISPLAY) ? (GFW_HANDLES|GFW_SOFTHYPHEN) : GFW_NONE; wrapflags = (flgs & FM_DISPLAY) ? (GFW_HANDLES|GFW_SOFTHYPHEN) : GFW_NONE;
--- 296,305 ---- --- 652,661 ----
&& pico_usingcolor() && pico_usingcolor()
&& ps_global->VAR_QUOTE1_FORE_COLOR && ps_global->VAR_QUOTE1_FORE_COLOR
&& ps_global->VAR_QUOTE1_BACK_COLOR){ && ps_global->VAR_QUOTE1_BACK_COLOR){
@ -2275,7 +2275,7 @@ diff -rc alpine-2.21/pith/mailview.c alpine-2.21.fillpara/pith/mailview.c
if(!(flgs & FM_NOWRAP)){ if(!(flgs & FM_NOWRAP)){
wrapflags = (flgs & FM_DISPLAY) ? (GFW_HANDLES|GFW_SOFTHYPHEN) : GFW_NONE; wrapflags = (flgs & FM_DISPLAY) ? (GFW_HANDLES|GFW_SOFTHYPHEN) : GFW_NONE;
*************** ***************
*** 1098,1124 **** *** 1465,1491 ****
color_signature(long int linenum, char *line, LT_INS_S **ins, void *is_in_sig) color_signature(long int linenum, char *line, LT_INS_S **ins, void *is_in_sig)
{ {
struct variable *vars = ps_global->vars; struct variable *vars = ps_global->vars;
@ -2303,7 +2303,7 @@ diff -rc alpine-2.21/pith/mailview.c alpine-2.21.fillpara/pith/mailview.c
if(*in_sig_block != OUT_SIG_BLOCK if(*in_sig_block != OUT_SIG_BLOCK
&& VAR_SIGNATURE_FORE_COLOR && VAR_SIGNATURE_BACK_COLOR && VAR_SIGNATURE_FORE_COLOR && VAR_SIGNATURE_BACK_COLOR
&& (col = new_color_pair(VAR_SIGNATURE_FORE_COLOR, && (col = new_color_pair(VAR_SIGNATURE_FORE_COLOR,
--- 1104,1191 ---- --- 1471,1558 ----
color_signature(long int linenum, char *line, LT_INS_S **ins, void *is_in_sig) color_signature(long int linenum, char *line, LT_INS_S **ins, void *is_in_sig)
{ {
struct variable *vars = ps_global->vars; struct variable *vars = ps_global->vars;
@ -2393,8 +2393,8 @@ diff -rc alpine-2.21/pith/mailview.c alpine-2.21.fillpara/pith/mailview.c
&& VAR_SIGNATURE_FORE_COLOR && VAR_SIGNATURE_BACK_COLOR && VAR_SIGNATURE_FORE_COLOR && VAR_SIGNATURE_BACK_COLOR
&& (col = new_color_pair(VAR_SIGNATURE_FORE_COLOR, && (col = new_color_pair(VAR_SIGNATURE_FORE_COLOR,
*************** ***************
*** 1678,1683 **** *** 2045,2050 ****
--- 1745,1821 ---- --- 2112,2188 ----
} }
@ -2472,12 +2472,12 @@ diff -rc alpine-2.21/pith/mailview.c alpine-2.21.fillpara/pith/mailview.c
#define UES_LEN 12 #define UES_LEN 12
#define UES_MAX 32 #define UES_MAX 32
diff -rc alpine-2.21/pith/mailview.h alpine-2.21.fillpara/pith/mailview.h diff -rc alpine-2.22/pith/mailview.h alpine-2.22.fillpara/pith/mailview.h
*** alpine-2.21/pith/mailview.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/mailview.h 2020-01-19 01:32:19.614486993 -0700
--- alpine-2.21.fillpara/pith/mailview.h Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pith/mailview.h 2020-05-07 16:46:16.719304053 -0600
*************** ***************
*** 142,147 **** *** 146,151 ****
--- 142,148 ---- --- 146,152 ----
char *display_parameters(PARAMETER *); char *display_parameters(PARAMETER *);
char *pine_fetch_header(MAILSTREAM *, long, char *, char **, long); char *pine_fetch_header(MAILSTREAM *, long, char *, char **, long);
int color_signature(long, char *, LT_INS_S **, void *); int color_signature(long, char *, LT_INS_S **, void *);
@ -2485,9 +2485,9 @@ diff -rc alpine-2.21/pith/mailview.h alpine-2.21.fillpara/pith/mailview.h
int scroll_handle_start_color(char *, size_t, int *); int scroll_handle_start_color(char *, size_t, int *);
int scroll_handle_end_color(char *, size_t, int *, int); int scroll_handle_end_color(char *, size_t, int *, int);
int width_at_this_position(unsigned char *, unsigned long); int width_at_this_position(unsigned char *, unsigned long);
diff -rc alpine-2.21/pith/osdep/color.c alpine-2.21.fillpara/pith/osdep/color.c diff -rc alpine-2.22/pith/osdep/color.c alpine-2.22.fillpara/pith/osdep/color.c
*** alpine-2.21/pith/osdep/color.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/osdep/color.c 2020-01-19 01:32:18.620506934 -0700
--- alpine-2.21.fillpara/pith/osdep/color.c Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pith/osdep/color.c 2020-05-07 23:52:12.301348731 -0600
*************** ***************
*** 32,38 **** *** 32,38 ****
@ -2509,7 +2509,7 @@ diff -rc alpine-2.21/pith/osdep/color.c alpine-2.21.fillpara/pith/osdep/color.c
/* /*
*************** ***************
*** 92,94 **** *** 92,94 ****
--- 94,1368 ---- --- 94,1375 ----
{ {
return(pico_set_colors(col ? col->fg : NULL, col ? col->bg : NULL, flags)); return(pico_set_colors(col ? col->fg : NULL, col ? col->bg : NULL, flags));
} }
@ -2861,6 +2861,8 @@ diff -rc alpine-2.21/pith/osdep/color.c alpine-2.21.fillpara/pith/osdep/color.c
+ c = count_levels_qstring(cl); + c = count_levels_qstring(cl);
+ n = same_qstring(cl,nl); + n = same_qstring(cl,nl);
+ +
+ /* by the definition of n and c above we have n <= c */
+
+ if (!n){ /* no next line or no agreement with next line */ + if (!n){ /* no next line or no agreement with next line */
+ int p = same_qstring(pl, cl); /* number of agreements between pl and cl */ + int p = same_qstring(pl, cl); /* number of agreements between pl and cl */
+ QSTRING_S *tl; /* test line */ + QSTRING_S *tl; /* test line */
@ -2873,16 +2875,16 @@ diff -rc alpine-2.21/pith/osdep/color.c alpine-2.21.fillpara/pith/osdep/color.c
+ * case we can only return p levels of cl. + * case we can only return p levels of cl.
+ */ + */
+ +
+ if (p == c) + if (p == c)
+ tl = cqstring; + tl = cqstring;
+ else{ + else{
+ if (p){ + if (p){
+ for (c = 1; c < p; c++) + for (c = 1; c < p; c++)
+ cl = cl->next; + cl = cl->next;
+ free_qs(&(cl->next)); + free_qs(&(cl->next));
+ tl = cqstring; + tl = cqstring;
+ } + }
+ else{ + else{
+ int done = 0; + int done = 0;
+ QSTRING_S *al = cl; /* another line */ + QSTRING_S *al = cl; /* another line */
+ /* + /*
@ -2891,15 +2893,15 @@ diff -rc alpine-2.21/pith/osdep/color.c alpine-2.21.fillpara/pith/osdep/color.c
+ * that we may want to accept the not-normal part, so we better + * that we may want to accept the not-normal part, so we better
+ * make an extra test to determine what needs to be freed + * make an extra test to determine what needs to be freed
+ */ + */
+ while (pl && cl && cl->qstype == pl->qstype + while (pl && cl && cl->qstype == pl->qstype
+ && !strucmp(cl->value, pl->value)){ + && !strucmp(cl->value, pl->value)){
+ cl = cl->next; + cl = cl->next;
+ pl = pl->next; + pl = pl->next;
+ } + }
+ if (pl && cl && cl->qstype == pl->qstype + if (pl && cl && cl->qstype == pl->qstype
+ && strcmp_qs(pl->value, cl->value)) + && strcmp_qs(pl->value, cl->value))
+ cl = cl->next; /* next level differs only in spaces */ + cl = cl->next; /* next level differs only in spaces */
+ while (!done){ + while (!done){
+ while (cl && cl->qstype == qsNormal) + while (cl && cl->qstype == qsNormal)
+ cl = cl->next; + cl = cl->next;
+ if (cl){ + if (cl){
@ -2909,23 +2911,29 @@ diff -rc alpine-2.21/pith/osdep/color.c alpine-2.21.fillpara/pith/osdep/color.c
+ else done++; + else done++;
+ } + }
+ else done++; + else done++;
+ } + }
+ if (al == cl){ + if (al == cl){
+ free_qs(&(cl)); + free_qs(&(cl));
+ tl = cl; + tl = cl;
+ } + }
+ else { + else {
+ while (al && (al->next != cl)) + while (al && (al->next != cl))
+ al = al->next; + al = al->next;
+ cl = al; + cl = al;
+ if (cl && cl->next) + if (cl && cl->next)
+ free_qs(&(cl->next)); + free_qs(&(cl->next));
+ tl = cqstring; + tl = cqstring;
+ } + }
+ } + }
+ } + }
+ return tl; + return tl;
+ } + }
+
+ /* so n <= c (see above) hence n < c or n = c. If n < c then n+1 <= c, so we
+ * either have n == c or n + 1 < c or n + 1 == c. We analyze each case in the
+ * following code
+ */
+
+ if (n + 1 < c){ /* if there are not enough agreements */ + if (n + 1 < c){ /* if there are not enough agreements */
+ int p = same_qstring(pl, cl); /* number of agreement between pl and cl */ + int p = same_qstring(pl, cl); /* number of agreement between pl and cl */
+ QSTRING_S *tl; /* test line */ + QSTRING_S *tl; /* test line */
@ -2987,9 +2995,8 @@ diff -rc alpine-2.21/pith/osdep/color.c alpine-2.21.fillpara/pith/osdep/color.c
+ } + }
+ return tl; + return tl;
+ } + }
+ if (n == c) /* Yeah!!! */ + /* else n == c, Yeah!!! */
+ return cqstring; + return cqstring;
+ return 0;
+ } + }
+ +
+ QSTRING_S * + QSTRING_S *
@ -3785,9 +3792,9 @@ diff -rc alpine-2.21/pith/osdep/color.c alpine-2.21.fillpara/pith/osdep/color.c
+ return allowed_qstr; + return allowed_qstr;
+ } + }
+ +
diff -rc alpine-2.21/pith/osdep/color.h alpine-2.21.fillpara/pith/osdep/color.h diff -rc alpine-2.22/pith/osdep/color.h alpine-2.22.fillpara/pith/osdep/color.h
*** alpine-2.21/pith/osdep/color.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/osdep/color.h 2020-01-19 01:32:18.622506893 -0700
--- alpine-2.21.fillpara/pith/osdep/color.h Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pith/osdep/color.h 2020-05-07 16:46:16.723304056 -0600
*************** ***************
*** 17,22 **** *** 17,22 ****
--- 17,40 ---- --- 17,40 ----
@ -3838,12 +3845,12 @@ diff -rc alpine-2.21/pith/osdep/color.h alpine-2.21.fillpara/pith/osdep/color.h
! void record_quote_string (QSTRING_S *); ! void record_quote_string (QSTRING_S *);
#endif /* PITH_OSDEP_COLOR_INCLUDED */ #endif /* PITH_OSDEP_COLOR_INCLUDED */
diff -rc alpine-2.21/pith/pine.hlp alpine-2.21.fillpara/pith/pine.hlp diff -rc alpine-2.22/pith/pine.hlp alpine-2.22.fillpara/pith/pine.hlp
*** alpine-2.21/pith/pine.hlp Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/pine.hlp 2020-01-19 01:32:19.035498584 -0700
--- alpine-2.21.fillpara/pith/pine.hlp Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pith/pine.hlp 2020-05-07 16:46:16.739304066 -0600
*************** ***************
*** 7446,7451 **** *** 7820,7825 ****
--- 7446,7491 ---- --- 7820,7865 ----
&quot;type the character ^&quot;. &quot;type the character ^&quot;.
<P> <P>
@ -3890,12 +3897,12 @@ diff -rc alpine-2.21/pith/pine.hlp alpine-2.21.fillpara/pith/pine.hlp
&lt;End of help on this topic&gt; &lt;End of help on this topic&gt;
</BODY> </BODY>
</HTML> </HTML>
diff -rc alpine-2.21/pith/reply.c alpine-2.21.fillpara/pith/reply.c diff -rc alpine-2.22/pith/reply.c alpine-2.22.fillpara/pith/reply.c
*** alpine-2.21/pith/reply.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/reply.c 2020-01-19 01:32:19.475489776 -0700
--- alpine-2.21.fillpara/pith/reply.c Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pith/reply.c 2020-05-07 16:46:16.763304080 -0600
*************** ***************
*** 2735,2740 **** *** 2838,2843 ****
--- 2735,2743 ---- --- 2838,2846 ----
if(flow_res && ps_global->reply.use_flowed) if(flow_res && ps_global->reply.use_flowed)
wrapflags |= GFW_FLOW_RESULT; wrapflags |= GFW_FLOW_RESULT;
@ -3906,7 +3913,7 @@ diff -rc alpine-2.21/pith/reply.c alpine-2.21.fillpara/pith/reply.c
/* /*
* The 80 will cause longer lines than what is likely * The 80 will cause longer lines than what is likely
*************** ***************
*** 2828,2834 **** *** 2931,2937 ****
dq.do_color = 0; dq.do_color = 0;
dq.delete_all = 1; dq.delete_all = 1;
@ -3914,7 +3921,7 @@ diff -rc alpine-2.21/pith/reply.c alpine-2.21.fillpara/pith/reply.c
filters[filtcnt++].data = gf_line_test_opt(delete_quotes, &dq); filters[filtcnt++].data = gf_line_test_opt(delete_quotes, &dq);
} }
--- 2831,2837 ---- --- 2934,2940 ----
dq.do_color = 0; dq.do_color = 0;
dq.delete_all = 1; dq.delete_all = 1;
@ -3922,12 +3929,12 @@ diff -rc alpine-2.21/pith/reply.c alpine-2.21.fillpara/pith/reply.c
filters[filtcnt++].data = gf_line_test_opt(delete_quotes, &dq); filters[filtcnt++].data = gf_line_test_opt(delete_quotes, &dq);
} }
diff -rc alpine-2.21/pith/state.c alpine-2.21.fillpara/pith/state.c diff -rc alpine-2.22/pith/state.c alpine-2.22.fillpara/pith/state.c
*** alpine-2.21/pith/state.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/state.c 2020-01-19 01:32:18.700505323 -0700
--- alpine-2.21.fillpara/pith/state.c Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pith/state.c 2020-05-07 16:46:16.767304083 -0600
*************** ***************
*** 225,230 **** *** 229,234 ****
--- 225,232 ---- --- 229,236 ----
if((*pps)->kw_colors) if((*pps)->kw_colors)
free_spec_colors(&(*pps)->kw_colors); free_spec_colors(&(*pps)->kw_colors);
@ -3936,23 +3943,23 @@ diff -rc alpine-2.21/pith/state.c alpine-2.21.fillpara/pith/state.c
if((*pps)->atmts){ if((*pps)->atmts){
int i; int i;
diff -rc alpine-2.21/pith/state.h alpine-2.21.fillpara/pith/state.h diff -rc alpine-2.22/pith/state.h alpine-2.22.fillpara/pith/state.h
*** alpine-2.21/pith/state.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/state.h 2020-01-19 01:32:18.561508121 -0700
--- alpine-2.21.fillpara/pith/state.h Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pith/state.h 2020-05-07 16:46:16.767304083 -0600
*************** ***************
*** 249,254 **** *** 251,256 ****
--- 249,256 ---- --- 251,258 ----
SPEC_COLOR_S *hdr_colors; /* list of configed colors for view */ SPEC_COLOR_S *hdr_colors; /* list of configured colors for view */
SPEC_COLOR_S *index_token_colors; /* list of configed colors for index */ SPEC_COLOR_S *index_token_colors; /* list of configured colors for index */
+ char *prefix; /* prefix for fillpara */ + char *prefix; /* prefix for fillpara */
+ char **list_qstr; /* list of known quote strings */ + char **list_qstr; /* list of known quote strings */
short init_context; short init_context;
struct { struct {
diff -rc alpine-2.21/pith/text.c alpine-2.21.fillpara/pith/text.c diff -rc alpine-2.22/pith/text.c alpine-2.22.fillpara/pith/text.c
*** alpine-2.21/pith/text.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/text.c 2020-01-19 01:32:19.317492939 -0700
--- alpine-2.21.fillpara/pith/text.c Sun Feb 5 16:15:23 2017 --- alpine-2.22.fillpara/pith/text.c 2020-05-07 16:46:16.767304083 -0600
*************** ***************
*** 92,98 **** *** 92,98 ****
char *err, *charset; char *err, *charset;

10
chappa-fillpara.txt Normal file
View File

@ -0,0 +1,10 @@
From: http://alpine.x10host.com/alpine/info/fillpara.html
Upstream: constitutes upstream source, delivered in non-tarball form
When you reply to a message, which has been quoted by several people and you
justify a paragraph, Alpine may not notice any other quote strings and justify
the paragraph as if there was no other quote strings in it. This patch will
help Alpine recognize extra levels of quoting, so that justifying will still
make the text readable. This is important because the purpose of justification
is to make the text more readable, and an incorrect justification may make the
text impossible to read.

View File

@ -1,8 +1,8 @@
diff -rc alpine-2.21/alpine/send.c alpine-2.21.fromheader/alpine/send.c diff -rc alpine-2.22/alpine/send.c alpine-2.22.fromheader/alpine/send.c
*** alpine-2.21/alpine/send.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/alpine/send.c 2020-01-19 01:32:20.126476758 -0700
--- alpine-2.21.fromheader/alpine/send.c Sun Feb 5 16:15:24 2017 --- alpine-2.22.fromheader/alpine/send.c 2020-01-19 01:34:53.915466200 -0700
*************** ***************
*** 913,919 **** *** 909,915 ****
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_NONE}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_NONE},
{"From : ", "From", h_composer_from, 10, 0, NULL, {"From : ", "From", h_composer_from, 10, 0, NULL,
build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete, build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete,
@ -10,7 +10,7 @@ diff -rc alpine-2.21/alpine/send.c alpine-2.21.fromheader/alpine/send.c
{"Reply-To: ", "Reply To", h_composer_reply_to, 10, 0, NULL, {"Reply-To: ", "Reply To", h_composer_reply_to, 10, 0, NULL,
build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete, 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}, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, KS_TOADDRBOOK},
--- 913,919 ---- --- 909,915 ----
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_NONE}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, KS_NONE},
{"From : ", "From", h_composer_from, 10, 0, NULL, {"From : ", "From", h_composer_from, 10, 0, NULL,
build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete, build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete,
@ -19,8 +19,8 @@ diff -rc alpine-2.21/alpine/send.c alpine-2.21.fromheader/alpine/send.c
build_address, NULL, NULL, addr_book_compose, "To AddrBk", NULL, abook_nickname_complete, 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}, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, KS_TOADDRBOOK},
*************** ***************
*** 2367,2372 **** *** 2364,2369 ****
--- 2367,2377 ---- --- 2364,2374 ----
he->rich_header = 0; he->rich_header = 0;
} }
} }
@ -33,7 +33,7 @@ diff -rc alpine-2.21/alpine/send.c alpine-2.21.fromheader/alpine/send.c
he_from = he; he_from = he;
break; break;
*************** ***************
*** 3104,3110 **** *** 3101,3107 ****
if(outgoing->return_path) if(outgoing->return_path)
mail_free_address(&outgoing->return_path); mail_free_address(&outgoing->return_path);
@ -41,7 +41,7 @@ diff -rc alpine-2.21/alpine/send.c alpine-2.21.fromheader/alpine/send.c
/* /*
* Don't ever believe the sender that is there. * Don't ever believe the sender that is there.
--- 3109,3117 ---- --- 3106,3114 ----
if(outgoing->return_path) if(outgoing->return_path)
mail_free_address(&outgoing->return_path); mail_free_address(&outgoing->return_path);
@ -51,12 +51,12 @@ diff -rc alpine-2.21/alpine/send.c alpine-2.21.fromheader/alpine/send.c
/* /*
* Don't ever believe the sender that is there. * Don't ever believe the sender that is there.
diff -rc alpine-2.21/pith/conf.c alpine-2.21.fromheader/pith/conf.c diff -rc alpine-2.22/pith/conf.c alpine-2.22.fromheader/pith/conf.c
*** alpine-2.21/pith/conf.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/conf.c 2020-01-19 01:32:18.678505766 -0700
--- alpine-2.21.fromheader/pith/conf.c Sun Feb 5 16:15:24 2017 --- alpine-2.22.fromheader/pith/conf.c 2020-01-19 01:34:53.918466178 -0700
*************** ***************
*** 2884,2889 **** *** 2908,2913 ****
--- 2884,2891 ---- --- 2908,2915 ----
F_NO_FCC_ATTACH, h_config_no_fcc_attach, PREF_SEND, 0}, F_NO_FCC_ATTACH, h_config_no_fcc_attach, PREF_SEND, 0},
{"fcc-on-bounce", "Include Fcc When Bouncing Messages", {"fcc-on-bounce", "Include Fcc When Bouncing Messages",
F_FCC_ON_BOUNCE, h_config_fcc_on_bounce, PREF_SEND, 0}, F_FCC_ON_BOUNCE, h_config_fcc_on_bounce, PREF_SEND, 0},
@ -65,12 +65,12 @@ diff -rc alpine-2.21/pith/conf.c alpine-2.21.fromheader/pith/conf.c
{"mark-fcc-seen", NULL, {"mark-fcc-seen", NULL,
F_MARK_FCC_SEEN, h_config_mark_fcc_seen, PREF_SEND, 0}, F_MARK_FCC_SEEN, h_config_mark_fcc_seen, PREF_SEND, 0},
{"fcc-only-without-confirm", "Send to Fcc Only Without Confirming", {"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 diff -rc alpine-2.22/pith/conftype.h alpine-2.22.fromheader/pith/conftype.h
*** alpine-2.21/pith/conftype.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/conftype.h 2020-01-19 01:32:18.702505283 -0700
--- alpine-2.21.fromheader/pith/conftype.h Sun Feb 5 16:15:24 2017 --- alpine-2.22.fromheader/pith/conftype.h 2020-01-19 01:34:53.919466170 -0700
*************** ***************
*** 399,404 **** *** 404,409 ****
--- 399,405 ---- --- 404,410 ----
F_AUTO_REPLY_TO, F_AUTO_REPLY_TO,
F_VERBOSE_POST, F_VERBOSE_POST,
F_FCC_ON_BOUNCE, F_FCC_ON_BOUNCE,
@ -78,12 +78,12 @@ diff -rc alpine-2.21/pith/conftype.h alpine-2.21.fromheader/pith/conftype.h
F_SEND_WO_CONFIRM, F_SEND_WO_CONFIRM,
F_USE_SENDER_NOT_X, F_USE_SENDER_NOT_X,
F_BLANK_KEYMENU, F_BLANK_KEYMENU,
diff -rc alpine-2.21/pith/pine.hlp alpine-2.21.fromheader/pith/pine.hlp diff -rc alpine-2.22/pith/pine.hlp alpine-2.22.fromheader/pith/pine.hlp
*** alpine-2.21/pith/pine.hlp Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/pine.hlp 2020-01-19 01:32:19.035498584 -0700
--- alpine-2.21.fromheader/pith/pine.hlp Sun Feb 5 16:15:24 2017 --- alpine-2.22.fromheader/pith/pine.hlp 2020-01-19 01:34:53.931466081 -0700
*************** ***************
*** 28940,28945 **** *** 29530,29535 ****
--- 28940,28961 ---- --- 29530,29551 ----
&lt;End of help on this topic&gt; &lt;End of help on this topic&gt;
</BODY> </BODY>
</HTML> </HTML>
@ -106,9 +106,9 @@ diff -rc alpine-2.21/pith/pine.hlp alpine-2.21.fromheader/pith/pine.hlp
====== h_config_use_sender_not_x ===== ====== h_config_use_sender_not_x =====
<HTML> <HTML>
<HEAD> <HEAD>
diff -rc alpine-2.21/pith/send.c alpine-2.21.fromheader/pith/send.c diff -rc alpine-2.22/pith/send.c alpine-2.22.fromheader/pith/send.c
*** alpine-2.21/pith/send.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/send.c 2020-01-19 01:32:18.956500171 -0700
--- alpine-2.21.fromheader/pith/send.c Sun Feb 5 16:15:24 2017 --- alpine-2.22.fromheader/pith/send.c 2020-01-19 01:34:53.934466058 -0700
*************** ***************
*** 53,59 **** *** 53,59 ****
/* name::type::canedit::writehdr::localcopy::rcptto */ /* name::type::canedit::writehdr::localcopy::rcptto */
@ -127,25 +127,25 @@ diff -rc alpine-2.21/pith/send.c alpine-2.21.fromheader/pith/send.c
{TONAME, Address, 1, 1, 1, 1}, {TONAME, Address, 1, 1, 1, 1},
{CCNAME, Address, 1, 1, 1, 1}, {CCNAME, Address, 1, 1, 1, 1},
*************** ***************
*** 1232,1238 **** *** 1227,1233 ****
*p = *(p+4); }
pf->type = pf_template[i].type; pf->type = pf_template[i].type;
! pf->canedit = pf_template[i].canedit; ! pf->canedit = pf_template[i].canedit;
pf->rcptto = pf_template[i].rcptto; pf->rcptto = pf_template[i].rcptto;
pf->writehdr = pf_template[i].writehdr; pf->writehdr = pf_template[i].writehdr;
pf->localcopy = pf_template[i].localcopy; pf->localcopy = pf_template[i].localcopy;
--- 1232,1238 ---- --- 1227,1233 ----
*p = *(p+4); }
pf->type = pf_template[i].type; pf->type = pf_template[i].type;
! pf->canedit = (i == N_FROM) ? CAN_EDIT(ps_global) : pf_template[i].canedit; ! pf->canedit = (i == N_FROM) ? CAN_EDIT(ps_global) : pf_template[i].canedit;
pf->rcptto = pf_template[i].rcptto; pf->rcptto = pf_template[i].rcptto;
pf->writehdr = pf_template[i].writehdr; pf->writehdr = pf_template[i].writehdr;
pf->localcopy = pf_template[i].localcopy; pf->localcopy = pf_template[i].localcopy;
diff -rc alpine-2.21/pith/send.h alpine-2.21.fromheader/pith/send.h diff -rc alpine-2.22/pith/send.h alpine-2.22.fromheader/pith/send.h
*** alpine-2.21/pith/send.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/send.h 2020-01-19 01:32:19.354492198 -0700
--- alpine-2.21.fromheader/pith/send.h Sun Feb 5 16:15:24 2017 --- alpine-2.22.fromheader/pith/send.h 2020-01-19 01:34:53.934466058 -0700
*************** ***************
*** 159,164 **** *** 159,164 ****
--- 159,166 ---- --- 159,166 ----

5
chappa-fromheader.txt Normal file
View File

@ -0,0 +1,5 @@
From: http://alpine.x10host.com/alpine/info/fromheader.html
Upstream: constitutes upstream source, delivered in non-tarball form
This patch allows you to change the From header without you having to configure
anything. The From header will always be available to you.

View File

@ -1,6 +1,6 @@
diff -rc alpine-2.21/pico/display.c alpine-2.21.insertpat/pico/display.c diff -rc alpine-2.22/pico/display.c alpine-2.22.insertpat/pico/display.c
*** alpine-2.21/pico/display.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pico/display.c 2020-01-19 01:32:18.428510798 -0700
--- alpine-2.21.insertpat/pico/display.c Sun Feb 5 16:15:26 2017 --- alpine-2.22.insertpat/pico/display.c 2020-01-19 01:34:56.194449394 -0700
*************** ***************
*** 2205,2210 **** *** 2205,2210 ****
--- 2205,2222 ---- --- 2205,2222 ----
@ -22,9 +22,9 @@ diff -rc alpine-2.21/pico/display.c alpine-2.21.insertpat/pico/display.c
case (CTRL|'G') : /* CTRL-G help */ case (CTRL|'G') : /* CTRL-G help */
if(term.t_mrow == 0 && km_popped == 0){ if(term.t_mrow == 0 && km_popped == 0){
movecursor(term.t_nrow-2, 0); movecursor(term.t_nrow-2, 0);
diff -rc alpine-2.21/pico/search.c alpine-2.21.insertpat/pico/search.c diff -rc alpine-2.22/pico/search.c alpine-2.22.insertpat/pico/search.c
*** alpine-2.21/pico/search.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pico/search.c 2020-01-19 01:32:18.347512428 -0700
--- alpine-2.21.insertpat/pico/search.c Sun Feb 5 16:15:26 2017 --- alpine-2.22.insertpat/pico/search.c 2020-01-19 01:34:56.195449387 -0700
*************** ***************
*** 122,127 **** *** 122,127 ****
--- 122,131 ---- --- 122,131 ----

7
chappa-insertpat.txt Normal file
View File

@ -0,0 +1,7 @@
From: http://alpine.x10host.com/alpine/info/insertpat.html
Upstream: constitutes upstream source, delivered in non-tarball form
This patch allows you to insert the pattern that you searched last to be
edited. Say for example you wanted to look for "foo_bar", but wrote mistakenly
"foo-bar" instead, then pressing ^W to search and then ^N you will make appear
in your input "foo-bar" from where you can now easily switch "-" to "_".

View File

@ -1,164 +1,9 @@
diff -rc alpine-2.21/README.maildir alpine-2.21.maildir/README.maildir diff -rc alpine-2.22/alpine/alpine.c alpine-2.22.maildir/alpine/alpine.c
*** alpine-2.21/README.maildir Sun Feb 5 16:15:21 2017 *** alpine-2.22/alpine/alpine.c 2020-01-19 01:32:20.090477474 -0700
--- alpine-2.21.maildir/README.maildir Sun Feb 5 16:15:21 2017 --- alpine-2.22.maildir/alpine/alpine.c 2020-01-19 01:34:47.848512457 -0700
*************** ***************
*** 0 **** *** 591,596 ****
--- 1,149 ---- --- 591,601 ----
+ ---------------------------------------
+
+ Maildir Driver for Alpine 2.0
+ By Eduardo Chappa
+ <chappa@gmx.com>
+
+ ---------------------------------------
+ 1. General Information About This Patch
+ ---------------------------------------
+
+ This patch adds support for the maildir format to Alpine. We take the
+ approach that this patch is one more driver among the number of formats
+ supported by Alpine (more generally c-client). This approach differs from
+ older versions of similar patches, in that once a maildir patch was
+ applied, it was assumed that all your folders would be created in the
+ maildir format.
+
+ This patch does not assume that maildir is a preferred format, instead
+ puts maildir in equal footing with other formats (mbox, mbx, mix, etc),
+ and so a maildir folder in the mail/ collection is treated in the same way
+ as any other folder in any other format. In other words, just by reading
+ the name of a folder, or opening it, or doing any operation with it, you
+ can not know in which format the folder is.
+
+ This implies that if you want to add a folder in the maildir format to the
+ mail/ collection, then you must add by pressing "A" in the folder list
+ collection and enter "#driver.md/mail/name_maildir_folder".
+
+ If you only want to use maildir, however, you can do so too. In this case,
+ you must create a maildir collection. In that collection, only maildir
+ folders will be listed. If there is any folder in any other format, that
+ folder will be ignored. In another words, any folder listed there is in
+ maildir format and can be accessed through that collection, conversely,
+ any folder not listed there is not in maildir format and there is no way
+ to access it using this collection.
+
+ In order to create a maildir collection, you could press M S L, and "A" to
+ add a collection. Fill in the required fields as follows:
+
+ Nickname : Anything
+ Server :
+ Path : #md/relative/path/to/maildir/collection/
+ View :
+
+ For example, if "path" is set to "#md/mail/", then Alpine will look for your
+ maildir folders that are in ~/mail/.
+
+ The code in this patch is mostly based in code for the unix driver plus
+ some combinations of the mh, mbx and nntp drivers for the c-client
+ library. Those drivers were designed by Mark Crispin, and bugs in this
+ code are not his bugs, but my own.
+
+ I got all the specification for this patch from
+ http://cr.yp.to/proto/maildir.html. If you know of a place with a better
+ specification for maildir format please let me know. The method this patch
+ uses to create a unique filename for a message is one of the "old
+ fashioned" methods. I realize that this is old fashioned, but it is
+ portable, and portability is the main reason why I decided to use an old
+ fashioned method (most methods are not portable. See the word
+ "Unfortunately" in that document).
+
+ --------------
+ 2. Other Goals
+ --------------
+
+ It is intended that this code will work well with any application
+ written using the c-client library. Of paramount importance is to make the
+ associated imap server work well when the server accesses a folder in
+ Maildir format. The program mailutil should also work flawlessly with this
+ implemetation of the driver.
+
+ It is intended that this driver be fast and stable. We intend not to
+ patch Alpine to make this driver do its work, unless such patching is for
+ fixing bugs in Alpine or to pass parameters to the driver.
+
+ ------------------------------------------------------------------------
+ 3. What are the known bugs of this implementation of the Maildir driver?
+ ------------------------------------------------------------------------
+
+ I don't know any at this time. There have been bugs before, though, but
+ I try to fix bugs as soon as they are reported.
+
+ ----------
+ 4. On UIDs
+ ----------
+
+ This patch keeps uids in the name of the file that contains the message,
+ by adding a ",u=" string to the file name to save the uid of a message. A
+ file is kept between sessions to save information on the last uid assigned
+ and its time of validity. Only one session with writing access can write
+ uids, all others must wait for the other session to assign them. The
+ session assigning uids creates a ".uidtemp" file which other sessions must
+ not disturb.
+
+ Uid support appeared in Alpine 1.00 (snapshot 925), and is experimental,
+ please report any problems.
+
+ ----------------------------------------------
+ 5. Configuring Alpine and Setting up a Maildir
+ ----------------------------------------------
+
+ Once this approach was chosen, it implied the following:
+
+ * This patch assumes that your INBOX is located at "$HOME/Maildir".
+ This is a directory which should have three subdirectories "cur",
+ "tmp" and "new". Mail is delivered to 'new' and read from 'cur'. I
+ have added a configuration option "maildir-location" which can be
+ used to tell Alpine where your Maildir inbox is, in case your system
+ does not use the above directory (e.g. your system may use
+ "~/.maildir"). In this case define that variable to be the name of
+ the directory where your e-mail is being delivered (e.g.
+ ".maildir").
+
+ * If you want to use the above configuration as your inbox, you must
+ define your inbox-path as "#md/inbox" (no quotes). You can define
+ the inbox-path like above even if you have changed the
+ maildir-location variable. That's the whole point of that variable.
+
+ -------------------------------------------
+ 6. What about Courier/Dovecot file systems?
+ -------------------------------------------
+
+ In a courier file system all folders are subfolders of a root folder
+ called INBOX. Normally INBOX is located at ~/Maildir and subfolders are
+ "dot" directories in ~/Maildir. For example ~/Maildir/.Trash is a
+ subfolder of INBOX and is accessed with the nickname "INBOX.Trash".
+
+ You can not access folders in this way unless you preceed them with the
+ string "#mc/". The purpose of the string "#mc/" is to warn Alpine that a
+ collection in the Courier format is going to be accessed. Therefore, you
+ can SELECT a folder like "#mc/INBOX.Trash", but not "INBOX.Trash"
+
+ You can access a collection through a server, but if you want to access a
+ collection of folders created using the Courier server, you MUST edit your
+ ".pinerc" file and enter the definition of the collection as follows:
+
+ folder-collections="Anything you want" #mc/INBOX.[]
+
+ You can replace the string "#mc/INBOX." by something different, for example
+ "#mc/Courier/." will make Alpine search for your collection in ~/Courier.
+
+ You can not add this setting directly into Alpine because Alpine fails to
+ accept this value from its input, but it takes it correctly when it is
+ added through the ".pinerc" file.
+
+ You can access your inbox as "#mc/INBOX" or "#md/INBOX". Both definitions
+ point to the same place.
+
+ Last Updated May 28, 2011
diff -rc alpine-2.21/alpine/alpine.c alpine-2.21.maildir/alpine/alpine.c
*** alpine-2.21/alpine/alpine.c Sun Feb 5 16:02:36 2017
--- alpine-2.21.maildir/alpine/alpine.c Sun Feb 5 16:15:20 2017
***************
*** 576,581 ****
--- 576,586 ----
if(F_ON(F_MAILDROPS_PRESERVE_STATE, ps_global)) if(F_ON(F_MAILDROPS_PRESERVE_STATE, ps_global))
mail_parameters(NULL, SET_SNARFPRESERVE, (void *) TRUE); mail_parameters(NULL, SET_SNARFPRESERVE, (void *) TRUE);
@ -170,12 +15,12 @@ diff -rc alpine-2.21/alpine/alpine.c alpine-2.21.maildir/alpine/alpine.c
rvl = 0L; rvl = 0L;
if(pine_state->VAR_NNTPRANGE){ if(pine_state->VAR_NNTPRANGE){
if(!SVAR_NNTPRANGE(pine_state, rvl, tmp_20k_buf, SIZEOF_20KBUF)) if(!SVAR_NNTPRANGE(pine_state, rvl, tmp_20k_buf, SIZEOF_20KBUF))
diff -rc alpine-2.21/alpine/confscroll.c alpine-2.21.maildir/alpine/confscroll.c diff -rc alpine-2.22/alpine/confscroll.c alpine-2.22.maildir/alpine/confscroll.c
*** alpine-2.21/alpine/confscroll.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/alpine/confscroll.c 2020-01-19 01:32:20.190475483 -0700
--- alpine-2.21.maildir/alpine/confscroll.c Sun Feb 5 16:15:20 2017 --- alpine-2.22.maildir/alpine/confscroll.c 2020-01-19 01:34:47.850512441 -0700
*************** ***************
*** 5545,5550 **** *** 5557,5562 ****
--- 5545,5556 ---- --- 5557,5568 ----
(void *)var->current_val.p); (void *)var->current_val.p);
} }
#endif #endif
@ -188,11 +33,11 @@ diff -rc alpine-2.21/alpine/confscroll.c alpine-2.21.maildir/alpine/confscroll.c
else if(revert && standard_radio_var(ps, var)){ else if(revert && standard_radio_var(ps, var)){
cur_rule_value(var, TRUE, FALSE); cur_rule_value(var, TRUE, FALSE);
diff -rc alpine-2.21/imap/src/c-client/mail.c alpine-2.21.maildir/imap/src/c-client/mail.c diff -rc alpine-2.22/imap/src/c-client/mail.c alpine-2.22.maildir/imap/src/c-client/mail.c
*** alpine-2.21/imap/src/c-client/mail.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/imap/src/c-client/mail.c 2020-01-19 01:32:23.162416684 -0700
--- alpine-2.21.maildir/imap/src/c-client/mail.c Sun Feb 5 16:15:20 2017 --- alpine-2.22.maildir/imap/src/c-client/mail.c 2020-01-19 01:34:48.243509380 -0700
*************** ***************
*** 1017,1023 **** *** 1046,1052 ****
MAILSTREAM *ts; MAILSTREAM *ts;
char *s,*t,tmp[MAILTMPLEN]; char *s,*t,tmp[MAILTMPLEN];
size_t i; size_t i;
@ -200,7 +45,7 @@ diff -rc alpine-2.21/imap/src/c-client/mail.c alpine-2.21.maildir/imap/src/c-cli
/* never allow names with newlines */ /* never allow names with newlines */
if ((s = strpbrk (mailbox,"\015\012")) != NULL) { if ((s = strpbrk (mailbox,"\015\012")) != NULL) {
MM_LOG ("Can't create mailbox with such a name",ERROR); MM_LOG ("Can't create mailbox with such a name",ERROR);
--- 1017,1023 ---- --- 1046,1052 ----
MAILSTREAM *ts; MAILSTREAM *ts;
char *s,*t,tmp[MAILTMPLEN]; char *s,*t,tmp[MAILTMPLEN];
size_t i; size_t i;
@ -209,8 +54,8 @@ diff -rc alpine-2.21/imap/src/c-client/mail.c alpine-2.21.maildir/imap/src/c-cli
if ((s = strpbrk (mailbox,"\015\012")) != NULL) { if ((s = strpbrk (mailbox,"\015\012")) != NULL) {
MM_LOG ("Can't create mailbox with such a name",ERROR); MM_LOG ("Can't create mailbox with such a name",ERROR);
*************** ***************
*** 1041,1046 **** *** 1070,1075 ****
--- 1041,1048 ---- --- 1070,1077 ----
return NIL; return NIL;
} }
@ -220,8 +65,8 @@ diff -rc alpine-2.21/imap/src/c-client/mail.c alpine-2.21.maildir/imap/src/c-cli
if ((mailbox[0] == '#') && ((mailbox[1] == 'd') || (mailbox[1] == 'D')) && if ((mailbox[0] == '#') && ((mailbox[1] == 'd') || (mailbox[1] == 'D')) &&
((mailbox[2] == 'r') || (mailbox[2] == 'R')) && ((mailbox[2] == 'r') || (mailbox[2] == 'R')) &&
*************** ***************
*** 1071,1076 **** *** 1100,1105 ****
--- 1073,1085 ---- --- 1102,1114 ----
(((*mailbox == '{') || (*mailbox == '#')) && (((*mailbox == '{') || (*mailbox == '#')) &&
(stream = mail_open (NIL,mailbox,OP_PROTOTYPE | OP_SILENT)))) (stream = mail_open (NIL,mailbox,OP_PROTOTYPE | OP_SILENT))))
d = stream->dtb; d = stream->dtb;
@ -235,12 +80,12 @@ diff -rc alpine-2.21/imap/src/c-client/mail.c alpine-2.21.maildir/imap/src/c-cli
else if ((*mailbox != '{') && (ts = default_proto (NIL))) d = ts->dtb; else if ((*mailbox != '{') && (ts = default_proto (NIL))) d = ts->dtb;
else { /* failed utterly */ else { /* failed utterly */
sprintf (tmp,"Can't create mailbox %.80s: indeterminate format",mailbox); sprintf (tmp,"Can't create mailbox %.80s: indeterminate format",mailbox);
diff -rc alpine-2.21/imap/src/c-client/mail.h alpine-2.21.maildir/imap/src/c-client/mail.h diff -rc alpine-2.22/imap/src/c-client/mail.h alpine-2.22.maildir/imap/src/c-client/mail.h
*** alpine-2.21/imap/src/c-client/mail.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/imap/src/c-client/mail.h 2020-01-19 01:32:23.166416605 -0700
--- alpine-2.21.maildir/imap/src/c-client/mail.h Sun Feb 5 16:15:20 2017 --- alpine-2.22.maildir/imap/src/c-client/mail.h 2020-01-19 01:34:48.244509372 -0700
*************** ***************
*** 366,371 **** *** 374,379 ****
--- 366,375 ---- --- 374,383 ----
#define SET_SCANCONTENTS (long) 573 #define SET_SCANCONTENTS (long) 573
#define GET_MHALLOWINBOX (long) 574 #define GET_MHALLOWINBOX (long) 574
#define SET_MHALLOWINBOX (long) 575 #define SET_MHALLOWINBOX (long) 575
@ -251,80 +96,9 @@ diff -rc alpine-2.21/imap/src/c-client/mail.h alpine-2.21.maildir/imap/src/c-cli
/* Driver flags */ /* Driver flags */
diff -rc alpine-2.21/imap/src/osdep/unix/Makefile alpine-2.21.maildir/imap/src/osdep/unix/Makefile diff -rc alpine-2.22/imap/src/osdep/unix/dummy.c alpine-2.22.maildir/imap/src/osdep/unix/dummy.c
*** alpine-2.21/imap/src/osdep/unix/Makefile Sun Feb 5 16:02:36 2017 *** alpine-2.22/imap/src/osdep/unix/dummy.c 2020-01-19 01:32:22.660426553 -0700
--- alpine-2.21.maildir/imap/src/osdep/unix/Makefile Sun Feb 5 16:15:20 2017 --- alpine-2.22.maildir/imap/src/osdep/unix/dummy.c 2020-01-19 01:34:48.245509364 -0700
***************
*** 147,153 ****
# 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.
#
! DEFAULTDRIVERS=imap nntp pop3 mix mx mbx tenex mtx mh mmdf unix news phile
CHUNKSIZE=65536
# Normally no need to change any of these
--- 147,153 ----
# 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.
#
! DEFAULTDRIVERS=maildir courier imap nntp pop3 mix mx mbx tenex mtx mh mmdf unix news phile
CHUNKSIZE=65536
# Normally no need to change any of these
***************
*** 156,162 ****
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 \
! unix.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o mix.o
CFLAGS=-g
CAT=cat
--- 156,162 ----
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 \
! unix.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o mix.o maildir.o
CFLAGS=-g
CAT=cat
***************
*** 293,299 ****
cyg: # Cygwin - note that most local file drivers don't work!!
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
! DEFAULTDRIVERS="imap nntp pop3 mbx unix phile" \
SIGTYPE=psx CHECKPW=cyg LOGINPW=cyg CRXTYPE=std \
SPOOLDIR=/var \
ACTIVEFILE=/usr/local/news/lib/active \
--- 293,299 ----
cyg: # Cygwin - note that most local file drivers don't work!!
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
! DEFAULTDRIVERS="imap nntp pop3 mbx unix maildir phile" \
SIGTYPE=psx CHECKPW=cyg LOGINPW=cyg CRXTYPE=std \
SPOOLDIR=/var \
ACTIVEFILE=/usr/local/news/lib/active \
***************
*** 911,917 ****
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
!
# OS-dependent
--- 911,917 ----
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
! maildir.o: mail.h misc.h osdep.h maildir.h dummy.h
# OS-dependent
diff -rc alpine-2.21/imap/src/osdep/unix/dummy.c alpine-2.21.maildir/imap/src/osdep/unix/dummy.c
*** alpine-2.21/imap/src/osdep/unix/dummy.c Sun Feb 5 16:02:36 2017
--- alpine-2.21.maildir/imap/src/osdep/unix/dummy.c Sun Feb 5 16:15:20 2017
*************** ***************
*** 103,115 **** *** 103,115 ****
* Accepts: mailbox name * Accepts: mailbox name
@ -479,16 +253,16 @@ diff -rc alpine-2.21/imap/src/osdep/unix/dummy.c alpine-2.21.maildir/imap/src/os
return T; /* return success */ return T; /* return success */
} }
diff -rc alpine-2.21/imap/src/osdep/unix/maildir.c alpine-2.21.maildir/imap/src/osdep/unix/maildir.c diff -rc alpine-2.22/imap/src/osdep/unix/maildir.c alpine-2.22.maildir/imap/src/osdep/unix/maildir.c
*** alpine-2.21/imap/src/osdep/unix/maildir.c Sun Feb 5 16:15:21 2017 *** alpine-2.22/imap/src/osdep/unix/maildir.c 2020-01-19 01:34:48.437507873 -0700
--- alpine-2.21.maildir/imap/src/osdep/unix/maildir.c Sun Feb 5 16:15:20 2017 --- alpine-2.22.maildir/imap/src/osdep/unix/maildir.c 2020-01-19 01:34:48.249509333 -0700
*************** ***************
*** 0 **** *** 0 ****
--- 1,2671 ---- --- 1,2671 ----
+ /* + /*
+ * Maildir driver for Alpine 2.20 + * Maildir driver for Alpine 2.20
+ * + *
+ * Written by Eduardo Chappa <chappa@gmx.com> + * Written by Eduardo Chappa <alpine.chappa@gmx.com>
+ * Last Update: June 10, 2014 + * Last Update: June 10, 2014
+ * + *
+ */ + */
@ -3156,9 +2930,9 @@ diff -rc alpine-2.21/imap/src/osdep/unix/maildir.c alpine-2.21.maildir/imap/src/
+ LOCAL->uidtempfile = cpystr(tmp); + LOCAL->uidtempfile = cpystr(tmp);
+ } + }
+ } + }
diff -rc alpine-2.21/imap/src/osdep/unix/maildir.h alpine-2.21.maildir/imap/src/osdep/unix/maildir.h diff -rc alpine-2.22/imap/src/osdep/unix/maildir.h alpine-2.22.maildir/imap/src/osdep/unix/maildir.h
*** alpine-2.21/imap/src/osdep/unix/maildir.h Sun Feb 5 16:15:21 2017 *** alpine-2.22/imap/src/osdep/unix/maildir.h 2020-01-19 01:34:48.439507857 -0700
--- alpine-2.21.maildir/imap/src/osdep/unix/maildir.h Sun Feb 5 16:15:20 2017 --- alpine-2.22.maildir/imap/src/osdep/unix/maildir.h 2020-01-19 01:34:48.250509325 -0700
*************** ***************
*** 0 **** *** 0 ****
--- 1,226 ---- --- 1,226 ----
@ -3388,9 +3162,73 @@ diff -rc alpine-2.21/imap/src/osdep/unix/maildir.h alpine-2.21.maildir/imap/src/
+ void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid); + void maildir_assign_uid(MAILSTREAM *stream, unsigned long msgno, unsigned long uid);
+ void maildir_uid_renew_tempfile(MAILSTREAM *stream); + void maildir_uid_renew_tempfile(MAILSTREAM *stream);
+ +
diff -rc alpine-2.21/imap/src/osdep/unix/os_cyg.h alpine-2.21.maildir/imap/src/osdep/unix/os_cyg.h diff -rc alpine-2.22/imap/src/osdep/unix/Makefile alpine-2.22.maildir/imap/src/osdep/unix/Makefile
*** alpine-2.21/imap/src/osdep/unix/os_cyg.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/imap/src/osdep/unix/Makefile 2020-01-19 01:32:22.615427440 -0700
--- alpine-2.21.maildir/imap/src/osdep/unix/os_cyg.h Sun Feb 5 16:15:20 2017 --- alpine-2.22.maildir/imap/src/osdep/unix/Makefile 2020-01-19 01:34:48.250509325 -0700
***************
*** 147,153 ****
# 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.
#
! DEFAULTDRIVERS=imap nntp pop3 mix mx mbx tenex mtx mh mmdf unix news phile
CHUNKSIZE=65536
# Normally no need to change any of these
--- 147,153 ----
# 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.
#
! DEFAULTDRIVERS=maildir courier imap nntp pop3 mix mx mbx tenex mtx mh mmdf unix news phile
CHUNKSIZE=65536
# Normally no need to change any of these
***************
*** 156,162 ****
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 http.o json.o pop3.o \
! unix.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o mix.o
CFLAGS=-g
CAT=cat
--- 156,162 ----
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 http.o json.o pop3.o \
! unix.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o mix.o maildir.o
CFLAGS=-g
CAT=cat
***************
*** 293,299 ****
cyg: # Cygwin - note that most local file drivers don't work!!
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
! DEFAULTDRIVERS="imap nntp pop3 mbx unix phile" \
SIGTYPE=psx CHECKPW=cyg LOGINPW=cyg CRXTYPE=std \
SPOOLDIR=/var \
ACTIVEFILE=/usr/local/news/lib/active \
--- 293,299 ----
cyg: # Cygwin - note that most local file drivers don't work!!
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
! DEFAULTDRIVERS="imap nntp pop3 mbx unix maildir phile" \
SIGTYPE=psx CHECKPW=cyg LOGINPW=cyg CRXTYPE=std \
SPOOLDIR=/var \
ACTIVEFILE=/usr/local/news/lib/active \
***************
*** 922,927 ****
--- 922,928 ----
utf8aux.o: mail.h misc.h osdep.h utf8.h
json.o: mail.h misc.h osdep.h utf8.h json.h
http.o: mail.h misc.h osdep.h utf8.h http.h json.h
+ maildir.o: mail.h misc.h osdep.h maildir.h dummy.h
# OS-dependent
diff -rc alpine-2.22/imap/src/osdep/unix/os_cyg.h alpine-2.22.maildir/imap/src/osdep/unix/os_cyg.h
*** alpine-2.22/imap/src/osdep/unix/os_cyg.h 2020-01-19 01:32:22.664426475 -0700
--- alpine-2.22.maildir/imap/src/osdep/unix/os_cyg.h 2020-01-19 01:34:48.251509318 -0700
*************** ***************
*** 47,52 **** *** 47,52 ****
--- 47,53 ---- --- 47,53 ----
@ -3401,12 +3239,12 @@ diff -rc alpine-2.21/imap/src/osdep/unix/os_cyg.h alpine-2.21.maildir/imap/src/o
#define geteuid Geteuid #define geteuid Geteuid
uid_t Geteuid (void); uid_t Geteuid (void);
diff -rc alpine-2.21/pith/conf.c alpine-2.21.maildir/pith/conf.c diff -rc alpine-2.22/pith/conf.c alpine-2.22.maildir/pith/conf.c
*** alpine-2.21/pith/conf.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/conf.c 2020-01-19 01:32:18.678505766 -0700
--- alpine-2.21.maildir/pith/conf.c Sun Feb 5 16:15:20 2017 --- alpine-2.22.maildir/pith/conf.c 2020-01-19 01:34:48.253509302 -0700
*************** ***************
*** 438,443 **** *** 443,448 ****
--- 438,446 ---- --- 443,451 ----
CONF_TXT_T cf_text_newsrc_path[] = "Full path and name of NEWSRC file"; CONF_TXT_T cf_text_newsrc_path[] = "Full path and name of NEWSRC file";
@ -3417,8 +3255,8 @@ diff -rc alpine-2.21/pith/conf.c alpine-2.21.maildir/pith/conf.c
/*---------------------------------------------------------------------- /*----------------------------------------------------------------------
These are the variables that control a number of pine functions. They These are the variables that control a number of pine functions. They
*************** ***************
*** 644,649 **** *** 649,654 ****
--- 647,656 ---- --- 652,661 ----
NULL, cf_text_news_active}, NULL, cf_text_news_active},
{"news-spool-directory", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, {"news-spool-directory", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
NULL, cf_text_news_spooldir}, NULL, cf_text_news_spooldir},
@ -3430,8 +3268,8 @@ diff -rc alpine-2.21/pith/conf.c alpine-2.21.maildir/pith/conf.c
NULL, cf_text_upload_cmd}, NULL, cf_text_upload_cmd},
{"upload-command-prefix", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, {"upload-command-prefix", 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0,
*************** ***************
*** 2301,2306 **** *** 2322,2327 ****
--- 2308,2319 ---- --- 2329,2340 ----
mail_parameters(NULL, SET_NEWSSPOOL, mail_parameters(NULL, SET_NEWSSPOOL,
(void *)VAR_NEWS_SPOOL_DIR); (void *)VAR_NEWS_SPOOL_DIR);
@ -3445,8 +3283,8 @@ diff -rc alpine-2.21/pith/conf.c alpine-2.21.maildir/pith/conf.c
set_current_val(&vars[V_DEFAULT_SAVE_FOLDER], TRUE, TRUE); set_current_val(&vars[V_DEFAULT_SAVE_FOLDER], TRUE, TRUE);
if(!VAR_DEFAULT_SAVE_FOLDER || !VAR_DEFAULT_SAVE_FOLDER[0]) if(!VAR_DEFAULT_SAVE_FOLDER || !VAR_DEFAULT_SAVE_FOLDER[0])
*************** ***************
*** 2930,2935 **** *** 2954,2959 ****
--- 2943,2952 ---- --- 2967,2976 ----
F_SORT_DEFAULT_SAVE_ALPHA, h_config_sort_save_alpha, PREF_FLDR, 0}, F_SORT_DEFAULT_SAVE_ALPHA, h_config_sort_save_alpha, PREF_FLDR, 0},
{"vertical-folder-list", "Use Vertical Folder List", {"vertical-folder-list", "Use Vertical Folder List",
F_VERTICAL_FOLDER_LIST, h_config_vertical_list, PREF_FLDR, 0}, F_VERTICAL_FOLDER_LIST, h_config_vertical_list, PREF_FLDR, 0},
@ -3458,7 +3296,7 @@ diff -rc alpine-2.21/pith/conf.c alpine-2.21.maildir/pith/conf.c
/* Addr book */ /* Addr book */
{"combined-addrbook-display", "Combined Address Book Display", {"combined-addrbook-display", "Combined Address Book Display",
*************** ***************
*** 7036,7042 **** *** 7068,7074 ****
int just_flip_value, EditWhich ew) int just_flip_value, EditWhich ew)
{ {
char **vp, *p, **lval, ***alval; char **vp, *p, **lval, ***alval;
@ -3466,7 +3304,7 @@ diff -rc alpine-2.21/pith/conf.c alpine-2.21.maildir/pith/conf.c
char *err; char *err;
long l; long l;
--- 7053,7059 ---- --- 7085,7091 ----
int just_flip_value, EditWhich ew) int just_flip_value, EditWhich ew)
{ {
char **vp, *p, **lval, ***alval; char **vp, *p, **lval, ***alval;
@ -3475,8 +3313,8 @@ diff -rc alpine-2.21/pith/conf.c alpine-2.21.maildir/pith/conf.c
long l; long l;
*************** ***************
*** 7089,7094 **** *** 7121,7126 ****
--- 7106,7118 ---- --- 7138,7150 ----
break; break;
@ -3491,8 +3329,8 @@ diff -rc alpine-2.21/pith/conf.c alpine-2.21.maildir/pith/conf.c
case F_DATES_TO_LOCAL : case F_DATES_TO_LOCAL :
clear_index_cache(ps->mail_stream, 0); clear_index_cache(ps->mail_stream, 0);
*************** ***************
*** 7877,7882 **** *** 7911,7916 ****
--- 7901,7910 ---- --- 7935,7944 ----
return(h_config_newmailwidth); return(h_config_newmailwidth);
case V_NEWSRC_PATH : case V_NEWSRC_PATH :
return(h_config_newsrc_path); return(h_config_newsrc_path);
@ -3503,9 +3341,9 @@ diff -rc alpine-2.21/pith/conf.c alpine-2.21.maildir/pith/conf.c
case V_BROWSER : case V_BROWSER :
return(h_config_browser); return(h_config_browser);
case V_HISTORY : case V_HISTORY :
diff -rc alpine-2.21/pith/conf.h alpine-2.21.maildir/pith/conf.h diff -rc alpine-2.22/pith/conf.h alpine-2.22.maildir/pith/conf.h
*** alpine-2.21/pith/conf.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/conf.h 2020-01-19 01:32:19.489489496 -0700
--- alpine-2.21.maildir/pith/conf.h Sun Feb 5 16:15:20 2017 --- alpine-2.22.maildir/pith/conf.h 2020-01-19 01:34:48.277509116 -0700
*************** ***************
*** 256,261 **** *** 256,261 ****
--- 256,265 ---- --- 256,265 ----
@ -3519,9 +3357,9 @@ diff -rc alpine-2.21/pith/conf.h alpine-2.21.maildir/pith/conf.h
#define VAR_DISABLE_DRIVERS vars[V_DISABLE_DRIVERS].current_val.l #define VAR_DISABLE_DRIVERS vars[V_DISABLE_DRIVERS].current_val.l
#define VAR_DISABLE_AUTHS vars[V_DISABLE_AUTHS].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 #define VAR_REMOTE_ABOOK_METADATA vars[V_REMOTE_ABOOK_METADATA].current_val.p
diff -rc alpine-2.21/pith/conftype.h alpine-2.21.maildir/pith/conftype.h diff -rc alpine-2.22/pith/conftype.h alpine-2.22.maildir/pith/conftype.h
*** alpine-2.21/pith/conftype.h Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/conftype.h 2020-01-19 01:32:18.702505283 -0700
--- alpine-2.21.maildir/pith/conftype.h Sun Feb 5 16:15:20 2017 --- alpine-2.22.maildir/pith/conftype.h 2020-01-19 01:34:48.278509108 -0700
*************** ***************
*** 119,124 **** *** 119,124 ****
--- 119,127 ---- --- 119,127 ----
@ -3535,8 +3373,8 @@ diff -rc alpine-2.21/pith/conftype.h alpine-2.21.maildir/pith/conftype.h
, V_UPLOAD_CMD_PREFIX , V_UPLOAD_CMD_PREFIX
, V_DOWNLOAD_CMD , V_DOWNLOAD_CMD
*************** ***************
*** 395,400 **** *** 400,405 ****
--- 398,406 ---- --- 403,411 ----
F_PASS_C1_CONTROL_CHARS, F_PASS_C1_CONTROL_CHARS,
F_SINGLE_FOLDER_LIST, F_SINGLE_FOLDER_LIST,
F_VERTICAL_FOLDER_LIST, F_VERTICAL_FOLDER_LIST,
@ -3546,9 +3384,9 @@ diff -rc alpine-2.21/pith/conftype.h alpine-2.21.maildir/pith/conftype.h
F_TAB_CHK_RECENT, F_TAB_CHK_RECENT,
F_AUTO_REPLY_TO, F_AUTO_REPLY_TO,
F_VERBOSE_POST, F_VERBOSE_POST,
diff -rc alpine-2.21/pith/init.c alpine-2.21.maildir/pith/init.c diff -rc alpine-2.22/pith/init.c alpine-2.22.maildir/pith/init.c
*** alpine-2.21/pith/init.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/init.c 2020-01-19 01:32:18.764504035 -0700
--- alpine-2.21.maildir/pith/init.c Sun Feb 5 16:15:20 2017 --- alpine-2.22.maildir/pith/init.c 2020-01-19 01:34:48.278509108 -0700
*************** ***************
*** 408,413 **** *** 408,413 ****
--- 408,416 ---- --- 408,416 ----
@ -3561,9 +3399,9 @@ diff -rc alpine-2.21/pith/init.c alpine-2.21.maildir/pith/init.c
&& strcmp(filename, folder_base)){ && strcmp(filename, folder_base)){
#endif #endif
#endif #endif
diff -rc alpine-2.21/pith/pattern.c alpine-2.21.maildir/pith/pattern.c diff -rc alpine-2.22/pith/pattern.c alpine-2.22.maildir/pith/pattern.c
*** alpine-2.21/pith/pattern.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/pattern.c 2020-01-19 01:32:19.260494080 -0700
--- alpine-2.21.maildir/pith/pattern.c Sun Feb 5 16:15:20 2017 --- alpine-2.22.maildir/pith/pattern.c 2020-01-19 01:34:48.281509085 -0700
*************** ***************
*** 49,55 **** *** 49,55 ****
#include "../pith/icache.h" #include "../pith/icache.h"
@ -3651,12 +3489,12 @@ diff -rc alpine-2.21/pith/pattern.c alpine-2.21.maildir/pith/pattern.c
return(buf[0] != '\0'); return(buf[0] != '\0');
} }
diff -rc alpine-2.21/pith/pine.hlp alpine-2.21.maildir/pith/pine.hlp diff -rc alpine-2.22/pith/pine.hlp alpine-2.22.maildir/pith/pine.hlp
*** alpine-2.21/pith/pine.hlp Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/pine.hlp 2020-01-19 01:32:19.035498584 -0700
--- alpine-2.21.maildir/pith/pine.hlp Sun Feb 5 16:15:21 2017 --- alpine-2.22.maildir/pith/pine.hlp 2020-01-19 01:34:48.306508890 -0700
*************** ***************
*** 22364,22369 **** *** 22897,22902 ****
--- 22364,22465 ---- --- 22897,22998 ----
&lt;End of help on this topic&gt; &lt;End of help on this topic&gt;
</BODY> </BODY>
</HTML> </HTML>
@ -3760,8 +3598,8 @@ diff -rc alpine-2.21/pith/pine.hlp alpine-2.21.maildir/pith/pine.hlp
<HTML> <HTML>
<HEAD> <HEAD>
*************** ***************
*** 30446,30451 **** *** 31036,31041 ****
--- 30542,30590 ---- --- 31132,31180 ----
<P> <P>
&lt;End of help on this topic&gt; &lt;End of help on this topic&gt;
</BODY> </BODY>
@ -3811,9 +3649,9 @@ diff -rc alpine-2.21/pith/pine.hlp alpine-2.21.maildir/pith/pine.hlp
</HTML> </HTML>
====== h_config_verbose_post ===== ====== h_config_verbose_post =====
<HTML> <HTML>
diff -rc alpine-2.21/pith/send.c alpine-2.21.maildir/pith/send.c diff -rc alpine-2.22/pith/send.c alpine-2.22.maildir/pith/send.c
*** alpine-2.21/pith/send.c Sun Feb 5 16:02:36 2017 *** alpine-2.22/pith/send.c 2020-01-19 01:32:18.956500171 -0700
--- alpine-2.21.maildir/pith/send.c Sun Feb 5 16:15:21 2017 --- alpine-2.22.maildir/pith/send.c 2020-01-19 01:34:48.420508005 -0700
*************** ***************
*** 47,52 **** *** 47,52 ****
--- 47,55 ---- --- 47,55 ----
@ -3827,8 +3665,8 @@ diff -rc alpine-2.21/pith/send.c alpine-2.21.maildir/pith/send.c
/* this is used in pine_send and pine_simple_send */ /* this is used in pine_send and pine_simple_send */
*************** ***************
*** 257,262 **** *** 250,255 ****
--- 260,272 ---- --- 253,265 ----
if(exists & FEX_ISFILE){ if(exists & FEX_ISFILE){
context_apply(tmp, p_cntxt, mbox, sizeof(tmp)); context_apply(tmp, p_cntxt, mbox, sizeof(tmp));
@ -3842,3 +3680,158 @@ diff -rc alpine-2.21/pith/send.c alpine-2.21.maildir/pith/send.c
if(!(IS_REMOTE(tmp) || is_absolute_path(tmp))){ if(!(IS_REMOTE(tmp) || is_absolute_path(tmp))){
/* /*
* The mbox is relative to the home directory. * The mbox is relative to the home directory.
diff -rc alpine-2.22/README.maildir alpine-2.22.maildir/README.maildir
*** alpine-2.22/README.maildir 2020-01-19 01:34:48.441507842 -0700
--- alpine-2.22.maildir/README.maildir 2020-01-19 01:34:48.421507997 -0700
***************
*** 0 ****
--- 1,149 ----
+ ---------------------------------------
+
+ Maildir Driver for Alpine 2.0
+ By Eduardo Chappa
+ <alpine.chappa@gmx.com>
+
+ ---------------------------------------
+ 1. General Information About This Patch
+ ---------------------------------------
+
+ This patch adds support for the maildir format to Alpine. We take the
+ approach that this patch is one more driver among the number of formats
+ supported by Alpine (more generally c-client). This approach differs from
+ older versions of similar patches, in that once a maildir patch was
+ applied, it was assumed that all your folders would be created in the
+ maildir format.
+
+ This patch does not assume that maildir is a preferred format, instead
+ puts maildir in equal footing with other formats (mbox, mbx, mix, etc),
+ and so a maildir folder in the mail/ collection is treated in the same way
+ as any other folder in any other format. In other words, just by reading
+ the name of a folder, or opening it, or doing any operation with it, you
+ can not know in which format the folder is.
+
+ This implies that if you want to add a folder in the maildir format to the
+ mail/ collection, then you must add by pressing "A" in the folder list
+ collection and enter "#driver.md/mail/name_maildir_folder".
+
+ If you only want to use maildir, however, you can do so too. In this case,
+ you must create a maildir collection. In that collection, only maildir
+ folders will be listed. If there is any folder in any other format, that
+ folder will be ignored. In another words, any folder listed there is in
+ maildir format and can be accessed through that collection, conversely,
+ any folder not listed there is not in maildir format and there is no way
+ to access it using this collection.
+
+ In order to create a maildir collection, you could press M S L, and "A" to
+ add a collection. Fill in the required fields as follows:
+
+ Nickname : Anything
+ Server :
+ Path : #md/relative/path/to/maildir/collection/
+ View :
+
+ For example, if "path" is set to "#md/mail/", then Alpine will look for your
+ maildir folders that are in ~/mail/.
+
+ The code in this patch is mostly based in code for the unix driver plus
+ some combinations of the mh, mbx and nntp drivers for the c-client
+ library. Those drivers were designed by Mark Crispin, and bugs in this
+ code are not his bugs, but my own.
+
+ I got all the specification for this patch from
+ http://cr.yp.to/proto/maildir.html. If you know of a place with a better
+ specification for maildir format please let me know. The method this patch
+ uses to create a unique filename for a message is one of the "old
+ fashioned" methods. I realize that this is old fashioned, but it is
+ portable, and portability is the main reason why I decided to use an old
+ fashioned method (most methods are not portable. See the word
+ "Unfortunately" in that document).
+
+ --------------
+ 2. Other Goals
+ --------------
+
+ It is intended that this code will work well with any application
+ written using the c-client library. Of paramount importance is to make the
+ associated imap server work well when the server accesses a folder in
+ Maildir format. The program mailutil should also work flawlessly with this
+ implemetation of the driver.
+
+ It is intended that this driver be fast and stable. We intend not to
+ patch Alpine to make this driver do its work, unless such patching is for
+ fixing bugs in Alpine or to pass parameters to the driver.
+
+ ------------------------------------------------------------------------
+ 3. What are the known bugs of this implementation of the Maildir driver?
+ ------------------------------------------------------------------------
+
+ I don't know any at this time. There have been bugs before, though, but
+ I try to fix bugs as soon as they are reported.
+
+ ----------
+ 4. On UIDs
+ ----------
+
+ This patch keeps uids in the name of the file that contains the message,
+ by adding a ",u=" string to the file name to save the uid of a message. A
+ file is kept between sessions to save information on the last uid assigned
+ and its time of validity. Only one session with writing access can write
+ uids, all others must wait for the other session to assign them. The
+ session assigning uids creates a ".uidtemp" file which other sessions must
+ not disturb.
+
+ Uid support appeared in Alpine 1.00 (snapshot 925), and is experimental,
+ please report any problems.
+
+ ----------------------------------------------
+ 5. Configuring Alpine and Setting up a Maildir
+ ----------------------------------------------
+
+ Once this approach was chosen, it implied the following:
+
+ * This patch assumes that your INBOX is located at "$HOME/Maildir".
+ This is a directory which should have three subdirectories "cur",
+ "tmp" and "new". Mail is delivered to 'new' and read from 'cur'. I
+ have added a configuration option "maildir-location" which can be
+ used to tell Alpine where your Maildir inbox is, in case your system
+ does not use the above directory (e.g. your system may use
+ "~/.maildir"). In this case define that variable to be the name of
+ the directory where your e-mail is being delivered (e.g.
+ ".maildir").
+
+ * If you want to use the above configuration as your inbox, you must
+ define your inbox-path as "#md/inbox" (no quotes). You can define
+ the inbox-path like above even if you have changed the
+ maildir-location variable. That's the whole point of that variable.
+
+ -------------------------------------------
+ 6. What about Courier/Dovecot file systems?
+ -------------------------------------------
+
+ In a courier file system all folders are subfolders of a root folder
+ called INBOX. Normally INBOX is located at ~/Maildir and subfolders are
+ "dot" directories in ~/Maildir. For example ~/Maildir/.Trash is a
+ subfolder of INBOX and is accessed with the nickname "INBOX.Trash".
+
+ You can not access folders in this way unless you preceed them with the
+ string "#mc/". The purpose of the string "#mc/" is to warn Alpine that a
+ collection in the Courier format is going to be accessed. Therefore, you
+ can SELECT a folder like "#mc/INBOX.Trash", but not "INBOX.Trash"
+
+ You can access a collection through a server, but if you want to access a
+ collection of folders created using the Courier server, you MUST edit your
+ ".pinerc" file and enter the definition of the collection as follows:
+
+ folder-collections="Anything you want" #mc/INBOX.[]
+
+ You can replace the string "#mc/INBOX." by something different, for example
+ "#mc/Courier/." will make Alpine search for your collection in ~/Courier.
+
+ You can not add this setting directly into Alpine because Alpine fails to
+ accept this value from its input, but it takes it correctly when it is
+ added through the ".pinerc" file.
+
+ You can access your inbox as "#mc/INBOX" or "#md/INBOX". Both definitions
+ point to the same place.
+
+ Last Updated May 28, 2011

11
chappa-maildir.txt Normal file
View File

@ -0,0 +1,11 @@
From: http://alpine.x10host.com/alpine/info/maildir.html
Upstream: constitutes upstream source, delivered in non-tarball form
I have added support for the Courier/Cyrus/Dovecot file system, read the configuration instructions.
This patch assumes that your INBOX is located at "$HOME/Maildir". This is a
directory which should have three subdirectories "cur", "tmp" and "new". If you
read maildir from another directory in your $HOME directory (e.g. .maildir),
then set the variable maildir-location to reflect this fact (e.g.
maildir-location=.maildir). This is the best way to change the path of the
inbox. Set Inbox Path = #md/INBOX.

File diff suppressed because it is too large Load Diff

16
chappa-rules.txt Normal file
View File

@ -0,0 +1,16 @@
From: http://alpine.x10host.com/alpine/info/rules.html
Upstream: constitutes upstream source, delivered in non-tarball form
This patch allows you to create specific hooks, so that operations that would normally be global in nature can be customized on a per message/folder/person
basis.
[...]
[For example:]
* Compose Rules
This option can be used to generate signatures in cases when setting up a
role does not work. Examples are
_TO_ >> {Peter Flinstones} => _SIGNATURE_{~/.petersignature}
_COLLECTION_ >> {Mail} => _SIGNATURE_{~/ll}

View File

@ -1,26 +1,50 @@
--- alpine-0.999/pico/osdep/shell.c 2007/08/02 12:09:33 1.1 ---
+++ alpine-0.999/pico/osdep/shell.c 2007/08/02 12:10:03 imap/src/c-client/mail.h | 8 ++++++++
@@ -90,7 +90,6 @@ bktoshell(void) /* suspend MicroEMACS a imap/src/osdep/unix/os_slx.h | 8 ++++++++
include/system.h | 8 ++++++++
pico/osdep/shell.c | 3 +--
4 files changed, 25 insertions(+), 2 deletions(-)
Index: alpine-2.22/imap/src/c-client/mail.h
===================================================================
--- alpine-2.22.orig/imap/src/c-client/mail.h
+++ alpine-2.22/imap/src/c-client/mail.h
@@ -1914,6 +1914,14 @@ long INWAIT (long seconds);
int PSOUT (char *s);
int PSOUTR (SIZEDTEXT *s);
int PFLUSH (void);
+/*
+ * Shuts up spurious
+ * "warning: suggest parentheses around assignment used as truth value"
+ * which occurs in gcc4.2.1 and older when an assigment is used in a
+ * if, which works just fine and is not interpreted as always true:
+ */
+#define if(x) if((x))
+#define while(x) while((x))
if(gmode&MDSPWN){ /* XOAUTH Client-Side Support */
char *shell;
- int dummy;
vttidy(); Index: alpine-2.22/imap/src/osdep/unix/os_slx.h
movecursor(0, 0); ===================================================================
@@ -98,7 +97,7 @@ bktoshell(void) /* suspend MicroEMACS a --- alpine-2.22.orig/imap/src/osdep/unix/os_slx.h
printf("\n\n\nUse \"exit\" to return to Pi%s\n", +++ alpine-2.22/imap/src/osdep/unix/os_slx.h
(gmode & MDBRONLY) ? "lot" : "co"); @@ -69,3 +69,11 @@ int portable_utime (char *file,time_t ti
system((shell = (char *)getenv("SHELL")) ? shell : "/bin/csh"); #include "ftl.h"
- rtfrmshell(dummy); /* fixup tty */ #include "nl.h"
+ rtfrmshell(0); /* fixup tty */ #include "tcp.h"
} +/*
else { + * Shuts up spurious
movecursor(term.t_nrow-1, 0); + * "warning: suggest parentheses around assignment used as truth value"
// Those may be obsolete now: + * which occurs ing gcc4.2.1 and older when an assigment is used in a
--- alpine-0.999/include/system.h 2007/08/03 13:16:15 1.1 + * if, which works just fine and is not iterpreted as always true:
+++ alpine-0.999/include/system.h 2007/08/03 13:19:03 + */
@@ -381,4 +381,12 @@ +#define if(x) if((x))
+#define while(x) while((x))
Index: alpine-2.22/include/system.h
===================================================================
--- alpine-2.22.orig/include/system.h
+++ alpine-2.22/include/system.h
@@ -389,4 +389,12 @@ typedef int gid_t;
# define LOCAL_PASSWD_CACHE # define LOCAL_PASSWD_CACHE
#endif #endif
@ -33,31 +57,24 @@
+#define if(x) if((x)) +#define if(x) if((x))
+#define while(x) while((x)) +#define while(x) while((x))
#endif /* _SYSTEM_INCLUDED */ #endif /* _SYSTEM_INCLUDED */
--- alpine-0.999/imap/src/c-client/mail.h 2007/08/03 13:42:06 1.1 Index: alpine-2.22/pico/osdep/shell.c
+++ alpine-0.999/imap/src/c-client/mail.h 2007/08/03 13:42:57 ===================================================================
@@ -1829,3 +1829,11 @@ --- alpine-2.22.orig/pico/osdep/shell.c
int PSOUT (char *s); +++ alpine-2.22/pico/osdep/shell.c
int PSOUTR (SIZEDTEXT *s); @@ -98,7 +98,6 @@ bktoshell(int f, int n)
int PFLUSH (void);
+/* if(gmode&MDSPWN){
+ * Shuts up spurious char *shell;
+ * "warning: suggest parentheses around assignment used as truth value" - int dummy;
+ * which occurs ing gcc4.2.1 and older when an assigment is used in a
+ * if, which works just fine and is not iterpreted as always true: vttidy();
+ */ movecursor(0, 0);
+#define if(x) if((x)) @@ -106,7 +105,7 @@ bktoshell(int f, int n)
+#define while(x) while((x)) printf("\n\n\nUse \"exit\" to return to Pi%s\n",
--- alpine-0.999/imap/src/osdep/unix/os_slx.h 2007/08/03 13:54:41 1.1 (gmode & MDBRONLY) ? "lot" : "co");
+++ alpine-0.999/imap/src/osdep/unix/os_slx.h 2007/08/03 13:55:38 system((shell = (char *)getenv("SHELL")) ? shell : "/bin/csh");
@@ -65,3 +65,11 @@ - rtfrmshell(dummy); /* fixup tty */
#include "ftl.h" + rtfrmshell(0); /* fixup tty */
#include "nl.h" }
#include "tcp.h" else {
+/* movecursor(term.t_nrow-1, 0);
+ * Shuts up spurious
+ * "warning: suggest parentheses around assignment used as truth value"
+ * which occurs ing gcc4.2.1 and older when an assigment is used in a
+ * if, which works just fine and is not iterpreted as always true:
+ */
+#define if(x) if((x))
+#define while(x) while((x))