Commit 868fb2bf authored by Antonio Radici's avatar Antonio Radici

New upstream version 1.10.0

parent 4d3285b1
...@@ -12,11 +12,11 @@ Copyright (C) 1996-2016 Michael R. Elkins <me@cs.hmc.edu> ...@@ -12,11 +12,11 @@ Copyright (C) 1996-2016 Michael R. Elkins <me@cs.hmc.edu>
Copyright (C) 1996-2002 Brandon Long <blong@fiction.net> Copyright (C) 1996-2002 Brandon Long <blong@fiction.net>
Copyright (C) 1997-2009 Thomas Roessler <roessler@does-not-exist.org> Copyright (C) 1997-2009 Thomas Roessler <roessler@does-not-exist.org>
Copyright (C) 1998-2005 Werner Koch <wk@isil.d.shuttle.de> Copyright (C) 1998-2005 Werner Koch <wk@isil.d.shuttle.de>
Copyright (C) 1999-2014 Brendan Cully <brendan@kublai.com> Copyright (C) 1999-2017 Brendan Cully <brendan@kublai.com>
Copyright (C) 1999-2002 Tommi Komulainen <Tommi.Komulainen@iki.fi> Copyright (C) 1999-2002 Tommi Komulainen <Tommi.Komulainen@iki.fi>
Copyright (C) 2000-2004 Edmund Grimley Evans <edmundo@rano.org> Copyright (C) 2000-2004 Edmund Grimley Evans <edmundo@rano.org>
Copyright (C) 2006-2009 Rocco Rutte <pdmef@gmx.net> Copyright (C) 2006-2009 Rocco Rutte <pdmef@gmx.net>
Copyright (C) 2014-2016 Kevin J. McCarthy <kevin@8t8.us> Copyright (C) 2014-2018 Kevin J. McCarthy <kevin@8t8.us>
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
......
This diff is collapsed.
...@@ -75,7 +75,7 @@ EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \ ...@@ -75,7 +75,7 @@ EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \
mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h \ mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h \
README.SSL smime.h group.h \ README.SSL smime.h group.h \
muttbug pgppacket.h depcomp ascii.h BEWARE PATCHES patchlist.sh \ muttbug pgppacket.h depcomp ascii.h BEWARE PATCHES patchlist.sh \
ChangeLog mkchangelog.sh mutt_idna.h sidebar.h OPS.SIDEBAR \ ChangeLog mkchangelog.sh mkreldate.sh mutt_idna.h sidebar.h OPS.SIDEBAR \
snprintf.c regex.c crypt-gpgme.h hcachever.sh.in \ snprintf.c regex.c crypt-gpgme.h hcachever.sh.in \
txt2c.c txt2c.sh version.sh check_sec.sh txt2c.c txt2c.sh version.sh check_sec.sh
...@@ -139,10 +139,8 @@ keymap_alldefs.h: $(srcdir)/OPS $(srcdir)/OPS.SIDEBAR $(srcdir)/OPS.PGP $(srcdir ...@@ -139,10 +139,8 @@ keymap_alldefs.h: $(srcdir)/OPS $(srcdir)/OPS.SIDEBAR $(srcdir)/OPS.PGP $(srcdir
$(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME \ $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME \
> keymap_alldefs.h > keymap_alldefs.h
reldate.h: $(srcdir)/ChangeLog reldate.h: $(srcdir)/mkreldate.sh $(srcdir)/ChangeLog
echo 'const char *ReleaseDate = "'`head -n 1 $(srcdir)/ChangeLog | LC_ALL=C cut -d ' ' -f 1`'";' > reldate.h.tmp; \ echo 'const char *ReleaseDate = "'`(cd $(srcdir) && ./mkreldate.sh)`'";' > reldate.h
cmp -s reldate.h.tmp reldate.h || cp reldate.h.tmp reldate.h; \
rm reldate.h.tmp
# The '#undef ENABLE_NLS' is to work around an automake ordering issue: # The '#undef ENABLE_NLS' is to work around an automake ordering issue:
# BUILT_SOURCES are processed before SUBDIRS. # BUILT_SOURCES are processed before SUBDIRS.
......
...@@ -519,7 +519,7 @@ EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \ ...@@ -519,7 +519,7 @@ EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \
mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h \ mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h \
README.SSL smime.h group.h \ README.SSL smime.h group.h \
muttbug pgppacket.h depcomp ascii.h BEWARE PATCHES patchlist.sh \ muttbug pgppacket.h depcomp ascii.h BEWARE PATCHES patchlist.sh \
ChangeLog mkchangelog.sh mutt_idna.h sidebar.h OPS.SIDEBAR \ ChangeLog mkchangelog.sh mkreldate.sh mutt_idna.h sidebar.h OPS.SIDEBAR \
snprintf.c regex.c crypt-gpgme.h hcachever.sh.in \ snprintf.c regex.c crypt-gpgme.h hcachever.sh.in \
txt2c.c txt2c.sh version.sh check_sec.sh txt2c.c txt2c.sh version.sh check_sec.sh
...@@ -1335,10 +1335,8 @@ keymap_alldefs.h: $(srcdir)/OPS $(srcdir)/OPS.SIDEBAR $(srcdir)/OPS.PGP $(srcdir ...@@ -1335,10 +1335,8 @@ keymap_alldefs.h: $(srcdir)/OPS $(srcdir)/OPS.SIDEBAR $(srcdir)/OPS.PGP $(srcdir
$(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME \ $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME \
> keymap_alldefs.h > keymap_alldefs.h
reldate.h: $(srcdir)/ChangeLog reldate.h: $(srcdir)/mkreldate.sh $(srcdir)/ChangeLog
echo 'const char *ReleaseDate = "'`head -n 1 $(srcdir)/ChangeLog | LC_ALL=C cut -d ' ' -f 1`'";' > reldate.h.tmp; \ echo 'const char *ReleaseDate = "'`(cd $(srcdir) && ./mkreldate.sh)`'";' > reldate.h
cmp -s reldate.h.tmp reldate.h || cp reldate.h.tmp reldate.h; \
rm reldate.h.tmp
# The '#undef ENABLE_NLS' is to work around an automake ordering issue: # The '#undef ENABLE_NLS' is to work around an automake ordering issue:
# BUILT_SOURCES are processed before SUBDIRS. # BUILT_SOURCES are processed before SUBDIRS.
......
...@@ -72,6 +72,7 @@ OP_EDITOR_FORWARD_CHAR "move the cursor one character to the right" ...@@ -72,6 +72,7 @@ OP_EDITOR_FORWARD_CHAR "move the cursor one character to the right"
OP_EDITOR_FORWARD_WORD "move the cursor to the end of the word" OP_EDITOR_FORWARD_WORD "move the cursor to the end of the word"
OP_EDITOR_HISTORY_DOWN "scroll down through the history list" OP_EDITOR_HISTORY_DOWN "scroll down through the history list"
OP_EDITOR_HISTORY_UP "scroll up through the history list" OP_EDITOR_HISTORY_UP "scroll up through the history list"
OP_EDITOR_HISTORY_SEARCH "search through the history list"
OP_EDITOR_KILL_EOL "delete chars from cursor to end of line" OP_EDITOR_KILL_EOL "delete chars from cursor to end of line"
OP_EDITOR_KILL_EOW "delete chars from the cursor to the end of the word" OP_EDITOR_KILL_EOW "delete chars from the cursor to the end of the word"
OP_EDITOR_KILL_LINE "delete all chars on the line" OP_EDITOR_KILL_LINE "delete all chars on the line"
...@@ -83,6 +84,7 @@ OP_EDITOR_DOWNCASE_WORD "convert the word to lower case" ...@@ -83,6 +84,7 @@ OP_EDITOR_DOWNCASE_WORD "convert the word to lower case"
OP_EDITOR_UPCASE_WORD "convert the word to upper case" OP_EDITOR_UPCASE_WORD "convert the word to upper case"
OP_ENTER_COMMAND "enter a muttrc command" OP_ENTER_COMMAND "enter a muttrc command"
OP_ENTER_MASK "enter a file mask" OP_ENTER_MASK "enter a file mask"
OP_ERROR_HISTORY "display recent history of error messages"
OP_EXIT "exit this menu" OP_EXIT "exit this menu"
OP_FILTER "filter attachment through a shell command" OP_FILTER "filter attachment through a shell command"
OP_FIRST_ENTRY "move to the first entry" OP_FIRST_ENTRY "move to the first entry"
...@@ -144,7 +146,7 @@ OP_PREV_ENTRY "move to the previous entry" ...@@ -144,7 +146,7 @@ OP_PREV_ENTRY "move to the previous entry"
OP_PREV_LINE "scroll up one line" OP_PREV_LINE "scroll up one line"
OP_PREV_PAGE "move to the previous page" OP_PREV_PAGE "move to the previous page"
OP_PRINT "print the current entry" OP_PRINT "print the current entry"
OP_PURGE_MESSAGE "really delete the current entry, bypassing the trash folder" OP_PURGE_MESSAGE "delete the current entry, bypassing the trash folder"
OP_QUERY "query external program for addresses" OP_QUERY "query external program for addresses"
OP_QUERY_APPEND "append new query results to current results" OP_QUERY_APPEND "append new query results to current results"
OP_QUIT "save changes to mailbox and quit" OP_QUIT "save changes to mailbox and quit"
......
...@@ -8,6 +8,49 @@ http://www.mutt.org/doc/manual/ ...@@ -8,6 +8,49 @@ http://www.mutt.org/doc/manual/
The keys used are: The keys used are:
!: modified feature, -: deleted feature, +: new feature !: modified feature, -: deleted feature, +: new feature
1.10.0 (2018-05-19):
! $reply_self is now respected for group-reply, even with $metoo unset.
! Enabled $imap_poll_timeout when $imap_idle is set.
! Added %R (number of read messages) expando for $status_format.
+ When $change_folder_next is set, the <change-folder> function
mailbox suggestion will start at the next folder in your
"mailboxes" list, instead of starting at the first folder in the
list.
+ $new_mail_command specifies a command to run after a new message is
received.
+ $pgp_default_key specifies the default key-pair to use for PGP
operations. It will be used for both encryption and signing
(unless $pgp_sign_as is set). See contrib/gpg.rc.
! $smime_default_key now specifies the default key-pair to use for
both encryption and signing S/MIME operations. See
contrib/smime.rc.
+ $smime_sign_as can be used to specify a sign-only key-pair for
S/MIME operations.
- $pgp_self_encrypt_as is now deprecated, and is an alias for
$pgp_default_key. $smime_self_encrypt_as is also deprecated, and
is an alias for $smime_default_key.
! $pgp_self_encrypt and $smime_self_encrypt now default to set.
This makes setting $pgp_default_key or $smime_default_key all that
is required to enable self-encryption (for both classic and GPGME
mode).
+ The <history-search> function (default: ^R) will search history based
on the text currently typed in. That is, type the search string first,
then hit ^R.
+ The $abort_noattach quadoption controls whether to abort sending a
message that matches $abort_noattach_regexp and has no attachments.
+ Mutt can now be configured --with-idn2. This requires the libidn1
compatibility layer present in libidn2 v2.0.0 or greater.
+ Unsetting $browser_abbreviate_mailboxes turns off '=' and '~'
shortcuts for mailbox names in the browser mailbox list.
! $sort_browser now has 'count' and 'unread' options.
+ <error-history> will display the last $error_history count of
error/informational messages generated.
+ The ~M pattern matches content-type headers. Note that this
pattern may be slow because it reads each message in.
+ The "echo" command can be used to display a message, for instance
when running a macro or sourcing a file.
1.9.5 (2018-04-14): 1.9.5 (2018-04-14):
! Bug fix release. ! Bug fix release.
......
...@@ -41,8 +41,8 @@ enum ...@@ -41,8 +41,8 @@ enum
typedef struct typedef struct
{ {
char user[64]; char user[128];
char login[64]; char login[128];
char pass[256]; char pass[256];
char host[128]; char host[128];
unsigned short port; unsigned short port;
......
/* /*
* Copyright (C) 2006-2007,2009 Brendan Cully <brendan@kublai.com> * Copyright (C) 2006-2007,2009,2017 Brendan Cully <brendan@kublai.com>
* Copyright (C) 2006,2009 Rocco Rutte <pdmef@gmx.net> * Copyright (C) 2006,2009 Rocco Rutte <pdmef@gmx.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
......
...@@ -105,6 +105,26 @@ static int browser_compare_size (const void *a, const void *b) ...@@ -105,6 +105,26 @@ static int browser_compare_size (const void *a, const void *b)
return ((BrowserSort & SORT_REVERSE) ? -r : r); return ((BrowserSort & SORT_REVERSE) ? -r : r);
} }
static int browser_compare_count (const void *a, const void *b)
{
struct folder_file *pa = (struct folder_file *) a;
struct folder_file *pb = (struct folder_file *) b;
int r = pa->msg_count - pb->msg_count;
return ((BrowserSort & SORT_REVERSE) ? -r : r);
}
static int browser_compare_unread (const void *a, const void *b)
{
struct folder_file *pa = (struct folder_file *) a;
struct folder_file *pb = (struct folder_file *) b;
int r = pa->msg_unread - pb->msg_unread;
return ((BrowserSort & SORT_REVERSE) ? -r : r);
}
static void browser_sort (struct browser_state *state) static void browser_sort (struct browser_state *state)
{ {
int (*f) (const void *, const void *); int (*f) (const void *, const void *);
...@@ -119,6 +139,12 @@ static void browser_sort (struct browser_state *state) ...@@ -119,6 +139,12 @@ static void browser_sort (struct browser_state *state)
case SORT_SIZE: case SORT_SIZE:
f = browser_compare_size; f = browser_compare_size;
break; break;
case SORT_COUNT:
f = browser_compare_count;
break;
case SORT_UNREAD:
f = browser_compare_unread;
break;
case SORT_SUBJECT: case SORT_SUBJECT:
default: default:
f = browser_compare_subject; f = browser_compare_subject;
...@@ -451,8 +477,10 @@ static int examine_directory (MUTTMENU *menu, struct browser_state *state, ...@@ -451,8 +477,10 @@ static int examine_directory (MUTTMENU *menu, struct browser_state *state,
if (lstat (buffer, &s) == -1) if (lstat (buffer, &s) == -1)
continue; continue;
if ((! S_ISREG (s.st_mode)) && (! S_ISDIR (s.st_mode)) && /* No size for directories or symlinks */
(! S_ISLNK (s.st_mode))) if (S_ISDIR (s.st_mode) || S_ISLNK (s.st_mode))
s.st_size = 0;
else if (! S_ISREG (s.st_mode))
continue; continue;
tmp = Incoming; tmp = Incoming;
...@@ -493,7 +521,8 @@ static int examine_mailboxes (MUTTMENU *menu, struct browser_state *state) ...@@ -493,7 +521,8 @@ static int examine_mailboxes (MUTTMENU *menu, struct browser_state *state)
} }
strfcpy (buffer, NONULL (tmp->path), sizeof (buffer)); strfcpy (buffer, NONULL (tmp->path), sizeof (buffer));
mutt_pretty_mailbox (buffer, sizeof (buffer)); if (option (OPTBROWSERABBRMAILBOXES))
mutt_pretty_mailbox (buffer, sizeof (buffer));
#ifdef USE_IMAP #ifdef USE_IMAP
if (mx_is_imap (tmp->path)) if (mx_is_imap (tmp->path))
...@@ -1014,6 +1043,8 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files, int *num ...@@ -1014,6 +1043,8 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files, int *num
mutt_message _("Mailbox deleted."); mutt_message _("Mailbox deleted.");
init_menu (&state, menu, title, sizeof (title), buffy); init_menu (&state, menu, title, sizeof (title), buffy);
} }
else
mutt_error _("Mailbox deletion failed.");
} }
else else
mutt_message _("Mailbox not deleted."); mutt_message _("Mailbox not deleted.");
...@@ -1166,9 +1197,9 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files, int *num ...@@ -1166,9 +1197,9 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files, int *num
int reverse = (i == OP_SORT_REVERSE); int reverse = (i == OP_SORT_REVERSE);
switch (mutt_multi_choice ((reverse) ? switch (mutt_multi_choice ((reverse) ?
_("Reverse sort by (d)ate, (a)lpha, si(z)e or do(n)'t sort? ") : _("Reverse sort by (d)ate, (a)lpha, si(z)e, (c)ount, (u)nread, or do(n)'t sort? ") :
_("Sort by (d)ate, (a)lpha, si(z)e or do(n)'t sort? "), _("Sort by (d)ate, (a)lpha, si(z)e, (c)ount, (u)nread, or do(n)'t sort? "),
_("dazn"))) _("dazcun")))
{ {
case -1: /* abort */ case -1: /* abort */
resort = 0; resort = 0;
...@@ -1186,7 +1217,15 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files, int *num ...@@ -1186,7 +1217,15 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files, int *num
BrowserSort = SORT_SIZE; BrowserSort = SORT_SIZE;
break; break;
case 4: /* do(n)'t sort */ case 4: /* (c)ount */
BrowserSort = SORT_COUNT;
break;
case 5: /* (u)nread */
BrowserSort = SORT_UNREAD;
break;
case 6: /* do(n)'t sort */
BrowserSort = SORT_ORDER; BrowserSort = SORT_ORDER;
resort = 0; resort = 0;
break; break;
......
/* /*
* Copyright (C) 1996-2000,2010,2013 Michael R. Elkins <me@mutt.org> * Copyright (C) 1996-2000,2010,2013 Michael R. Elkins <me@mutt.org>
* Copyright (C) 2016 Kevin J. McCarthy <kevin@8t8.us> * Copyright (C) 2016-2017 Kevin J. McCarthy <kevin@8t8.us>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
......
...@@ -409,7 +409,7 @@ int mutt_parse_unmono (BUFFER *buf, BUFFER *s, unsigned long data, ...@@ -409,7 +409,7 @@ int mutt_parse_unmono (BUFFER *buf, BUFFER *s, unsigned long data,
static int _mutt_parse_uncolor (BUFFER *buf, BUFFER *s, unsigned long data, static int _mutt_parse_uncolor (BUFFER *buf, BUFFER *s, unsigned long data,
BUFFER *err, short parse_uncolor) BUFFER *err, short parse_uncolor)
{ {
int object = 0, do_cache = 0; int object = 0, is_index = 0, do_cache = 0;
COLOR_LINE *tmp, *last = NULL; COLOR_LINE *tmp, *last = NULL;
COLOR_LINE **list; COLOR_LINE **list;
...@@ -422,7 +422,10 @@ static int _mutt_parse_uncolor (BUFFER *buf, BUFFER *s, unsigned long data, ...@@ -422,7 +422,10 @@ static int _mutt_parse_uncolor (BUFFER *buf, BUFFER *s, unsigned long data,
} }
if (mutt_strncmp (buf->data, "index", 5) == 0) if (mutt_strncmp (buf->data, "index", 5) == 0)
{
is_index = 1;
list = &ColorIndexList; list = &ColorIndexList;
}
else if (mutt_strncmp (buf->data, "body", 4) == 0) else if (mutt_strncmp (buf->data, "body", 4) == 0)
list = &ColorBodyList; list = &ColorBodyList;
else if (mutt_strncmp (buf->data, "header", 7) == 0) else if (mutt_strncmp (buf->data, "header", 7) == 0)
...@@ -502,7 +505,7 @@ static int _mutt_parse_uncolor (BUFFER *buf, BUFFER *s, unsigned long data, ...@@ -502,7 +505,7 @@ static int _mutt_parse_uncolor (BUFFER *buf, BUFFER *s, unsigned long data,
while (MoreArgs (s)); while (MoreArgs (s));
if (do_cache && !option (OPTNOCURSES)) if (is_index && do_cache && !option (OPTNOCURSES))
{ {
int i; int i;
mutt_set_menu_redraw_full (MENU_MAIN); mutt_set_menu_redraw_full (MENU_MAIN);
...@@ -567,8 +570,6 @@ add_pattern (COLOR_LINE **top, const char *s, int sensitive, ...@@ -567,8 +570,6 @@ add_pattern (COLOR_LINE **top, const char *s, int sensitive,
tmp = mutt_new_color_line (); tmp = mutt_new_color_line ();
if (is_index) if (is_index)
{ {
int i;
strfcpy(buf, NONULL(s), sizeof(buf)); strfcpy(buf, NONULL(s), sizeof(buf));
mutt_check_simple (buf, sizeof (buf), NONULL(SimpleSearch)); mutt_check_simple (buf, sizeof (buf), NONULL(SimpleSearch));
if((tmp->color_pattern = mutt_pattern_comp (buf, MUTT_FULL_MSG, err)) == NULL) if((tmp->color_pattern = mutt_pattern_comp (buf, MUTT_FULL_MSG, err)) == NULL)
...@@ -576,9 +577,6 @@ add_pattern (COLOR_LINE **top, const char *s, int sensitive, ...@@ -576,9 +577,6 @@ add_pattern (COLOR_LINE **top, const char *s, int sensitive,
mutt_free_color_line(&tmp, 1); mutt_free_color_line(&tmp, 1);
return -1; return -1;
} }
/* force re-caching of index colors */
for (i = 0; Context && i < Context->msgcount; i++)
Context->hdrs[i]->pair = 0;
} }
else if ((r = REGCOMP (&tmp->rx, s, (sensitive ? mutt_which_case (s) : REG_ICASE))) != 0) else if ((r = REGCOMP (&tmp->rx, s, (sensitive ? mutt_which_case (s) : REG_ICASE))) != 0)
{ {
...@@ -600,6 +598,15 @@ add_pattern (COLOR_LINE **top, const char *s, int sensitive, ...@@ -600,6 +598,15 @@ add_pattern (COLOR_LINE **top, const char *s, int sensitive,
*top = tmp; *top = tmp;
} }
/* force re-caching of index colors */
if (is_index)
{
int i;
for (i = 0; Context && i < Context->msgcount; i++)
Context->hdrs[i]->pair = 0;
}
return 0; return 0;
} }
......
...@@ -87,7 +87,8 @@ int mutt_display_message (HEADER *cur) ...@@ -87,7 +87,8 @@ int mutt_display_message (HEADER *cur)
else if (cur->security & SIGN) else if (cur->security & SIGN)
{ {
/* find out whether or not the verify signature */ /* find out whether or not the verify signature */
if (query_quadoption (OPT_VERIFYSIG, _("Verify PGP signature?")) == MUTT_YES) /* L10N: Used for the $crypt_verify_sig prompt */
if (query_quadoption (OPT_VERIFYSIG, _("Verify signature?")) == MUTT_YES)
{ {
cmflags |= MUTT_CM_VERIFY; cmflags |= MUTT_CM_VERIFY;
} }
......
...@@ -253,7 +253,7 @@ static void redraw_crypt_lines (HEADER *msg) ...@@ -253,7 +253,7 @@ static void redraw_crypt_lines (HEADER *msg)
SETCOLOR (MT_COLOR_COMPOSE_HEADER); SETCOLOR (MT_COLOR_COMPOSE_HEADER);
printw ("%*s", HeaderPadding[HDR_CRYPTINFO], _(Prompts[HDR_CRYPTINFO])); printw ("%*s", HeaderPadding[HDR_CRYPTINFO], _(Prompts[HDR_CRYPTINFO]));
NORMAL_COLOR; NORMAL_COLOR;
printw ("%s", SmimeDefaultKey ? SmimeDefaultKey : _("<default>")); printw ("%s", SmimeSignAs ? SmimeSignAs : _("<default>"));
} }
if ((WithCrypto & APPLICATION_SMIME) if ((WithCrypto & APPLICATION_SMIME)
...@@ -1426,6 +1426,11 @@ int mutt_compose_menu (HEADER *msg, /* structure for new message */ ...@@ -1426,6 +1426,11 @@ int mutt_compose_menu (HEADER *msg, /* structure for new message */
case OP_COMPOSE_PGP_MENU: case OP_COMPOSE_PGP_MENU:
if (!(WithCrypto & APPLICATION_PGP)) if (!(WithCrypto & APPLICATION_PGP))
break; break;
if (!crypt_has_module_backend (APPLICATION_PGP))
{
mutt_error _("No PGP backend configured");
break;
}
if ((WithCrypto & APPLICATION_SMIME) if ((WithCrypto & APPLICATION_SMIME)
&& (msg->security & APPLICATION_SMIME)) && (msg->security & APPLICATION_SMIME))
{ {
...@@ -1458,6 +1463,11 @@ int mutt_compose_menu (HEADER *msg, /* structure for new message */ ...@@ -1458,6 +1463,11 @@ int mutt_compose_menu (HEADER *msg, /* structure for new message */
case OP_COMPOSE_SMIME_MENU: case OP_COMPOSE_SMIME_MENU:
if (!(WithCrypto & APPLICATION_SMIME)) if (!(WithCrypto & APPLICATION_SMIME))
break; break;
if (!crypt_has_module_backend (APPLICATION_SMIME))
{
mutt_error _("No S/MIME backend configured");
break;
}
if ((WithCrypto & APPLICATION_PGP) if ((WithCrypto & APPLICATION_PGP)
&& (msg->security & APPLICATION_PGP)) && (msg->security & APPLICATION_PGP))
......
...@@ -96,6 +96,9 @@ ...@@ -96,6 +96,9 @@
/* Define to 1 if you have the `feof_unlocked' function. */ /* Define to 1 if you have the `feof_unlocked' function. */
#undef HAVE_FEOF_UNLOCKED #undef HAVE_FEOF_UNLOCKED
/* Define to 1 if you have the `fgetc_unlocked' function. */
#undef HAVE_FGETC_UNLOCKED
/* Define to 1 if you have the `fgetpos' function. */ /* Define to 1 if you have the `fgetpos' function. */
#undef HAVE_FGETPOS #undef HAVE_FGETPOS
...@@ -108,6 +111,9 @@ ...@@ -108,6 +111,9 @@
/* Define to 1 if you have the `ftruncate' function. */ /* Define to 1 if you have the `ftruncate' function. */
#undef HAVE_FTRUNCATE #undef HAVE_FTRUNCATE
/* Define to 1 if you have the `futimens' function. */
#undef HAVE_FUTIMENS
/* GDBM Support */ /* GDBM Support */
#undef HAVE_GDBM #undef HAVE_GDBM
...@@ -184,6 +190,9 @@ ...@@ -184,6 +190,9 @@
/* Define if <iconv.h> defines iconv_t. */ /* Define if <iconv.h> defines iconv_t. */
#undef HAVE_ICONV_T_DEF #undef HAVE_ICONV_T_DEF
/* Define to 1 if you have the <idn2.h> header file. */
#undef HAVE_IDN2_H
/* Define to 1 if you have the <idna.h> header file. */ /* Define to 1 if you have the <idna.h> header file. */
#undef HAVE_IDNA_H #undef HAVE_IDNA_H
...@@ -205,6 +214,9 @@ ...@@ -205,6 +214,9 @@
/* Define to 1 if you have the `idna_to_unicode_utf8_from_utf8' function. */ /* Define to 1 if you have the `idna_to_unicode_utf8_from_utf8' function. */
#undef HAVE_IDNA_TO_UNICODE_UTF8_FROM_UTF8 #undef HAVE_IDNA_TO_UNICODE_UTF8_FROM_UTF8
/* Define to 1 if you have the <idn/idn2.h> header file. */
#undef HAVE_IDN_IDN2_H
/* Define to 1 if you have the <idn/idna.h> header file. */ /* Define to 1 if you have the <idn/idna.h> header file. */
#undef HAVE_IDN_IDNA_H #undef HAVE_IDN_IDNA_H
...@@ -268,6 +280,9 @@ ...@@ -268,6 +280,9 @@
/* Define to 1 if you have the GNU idn library */ /* Define to 1 if you have the GNU idn library */
#undef HAVE_LIBIDN #undef HAVE_LIBIDN
/* Define to 1 if you have the GNU idn2 library */
#undef HAVE_LIBIDN2
/* Define to 1 if you have the `intl' library (-lintl). */ /* Define to 1 if you have the `intl' library (-lintl). */
#undef HAVE_LIBINTL #undef HAVE_LIBINTL
......
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for mutt 1.9.5. # Generated by GNU Autoconf 2.69 for mutt 1.10.0.
# #
# #
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
...@@ -577,8 +577,8 @@ MAKEFLAGS= ...@@ -577,8 +577,8 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='mutt' PACKAGE_NAME='mutt'
PACKAGE_TARNAME='mutt' PACKAGE_TARNAME='mutt'
PACKAGE_VERSION='1.9.5' PACKAGE_VERSION='1.10.0'
PACKAGE_STRING='mutt 1.9.5' PACKAGE_STRING='mutt 1.10.0'
PACKAGE_BUGREPORT='' PACKAGE_BUGREPORT=''
PACKAGE_URL='' PACKAGE_URL=''
...@@ -828,6 +828,7 @@ with_libiconv_prefix ...@@ -828,6 +828,7 @@ with_libiconv_prefix
enable_nls enable_nls
with_included_gettext with_included_gettext
with_idn with_idn
with_idn2
with_wc_funcs with_wc_funcs
enable_doc enable_doc
enable_full_doc enable_full_doc
...@@ -1391,7 +1392,7 @@ if test "$ac_init_help" = "long"; then ...@@ -1391,7 +1392,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures mutt 1.9.5 to adapt to many kinds of systems. \`configure' configures mutt 1.10.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
...@@ -1462,7 +1463,7 @@ fi ...@@ -1462,7 +1463,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of mutt 1.9.5:";; short | recursive ) echo "Configuration of mutt 1.10.0:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
...@@ -1529,6 +1530,7 @@ Optional Packages: ...@@ -1529,6 +1530,7 @@ Optional Packages:
Search for libiconv in DIR/include and DIR/lib Search for libiconv in DIR/include and DIR/lib
--with-included-gettext Use the GNU gettext library included here --with-included-gettext Use the GNU gettext library included here
--with-idn=[PFX] Use GNU libidn for internationalized domain names --with-idn=[PFX] Use GNU libidn for internationalized domain names
--with-idn2=[PFX] Use GNU libidn2 for internationalized domain names
--without-wc-funcs Do not use the system's wchar_t functions --without-wc-funcs Do not use the system's wchar_t functions
Some influential environment variables: Some influential environment variables:
...@@ -1607,7 +1609,7 @@ fi ...@@ -1607,7 +1609,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
mutt configure 1.9.5 mutt configure 1.10.0
generated by GNU Autoconf 2.69 generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc. Copyright (C) 2012 Free Software Foundation, Inc.
...@@ -2255,7 +2257,7 @@ cat >config.log <<_ACEOF ...@@ -2255,7 +2257,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by mutt $as_me 1.9.5, which was It was created by mutt $as_me 1.10.0, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@ $ $0 $@
...@@ -3122,7 +3124,7 @@ fi ...@@ -3122,7 +3124,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='mutt' PACKAGE='mutt'
VERSION='1.9.5' VERSION='1.10.0'
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
...@@ -8744,6 +8746,18 @@ _ACEOF ...@@ -8744,6 +8746,18 @@ _ACEOF
fi fi
done done
for ac_func in fgets_unlocked fgetc_unlocked
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
fi
done