From 18ea5e8b861632627335b8d94787c742dbf5f567 Mon Sep 17 00:00:00 2001 From: pdmef Date: Tue, 26 Jul 2005 19:15:18 +0000 Subject: [PATCH] Rocco Rutte: - merge in latest mutt changes git-svn-id: svn://svn.berlios.de/mutt-ng/trunk@349 e385b8ad-14ed-0310-8656-cc95a2468c6d --- ChangeLog.mutt | 24 ++++++++++++++++++++++++ crypt-gpgme.c | 34 +++++++++++++++++----------------- enter.c | 37 +++++++++++++++---------------------- imap/imap.c | 6 ++++++ init.h | 2 +- mutt_socket.c | 4 ++-- mutt_ssl_gnutls.c | 16 ++++++++-------- po/POTFILES.in | 5 +++++ 8 files changed, 78 insertions(+), 50 deletions(-) diff --git a/ChangeLog.mutt b/ChangeLog.mutt index 005c223..d72a363 100644 --- a/ChangeLog.mutt +++ b/ChangeLog.mutt @@ -1,3 +1,27 @@ +2005-07-26 18:45:01 TAKAHASHI Tamotsu (brendan) + + * crypt-gpgme.c, mutt_ssl_gnutls.c, po/POTFILES.in: Partial + application of Tamo's translation patch for gpgme and gnutls. + +2005-07-26 16:44:20 Brendan Cully (brendan) + + * imap/imap.c: Don't check for the existence of a mailbox we're + already in when appending. (closes #1842) + +2005-07-26 16:40:16 Thomas Glanzmann (roessler) + + * init.h: Return $menu_move_off default to status quo ante. + +2005-07-26 16:39:17 Thomas Glanzmann (roessler) + + * init.h: hcache spelling fixes + +2005-07-26 16:37:28 Tamotsu Takahashi (roessler) + + * enter.c: Introduce fall-back from complete-query to complete + for the edit menu, so 'bind editor complete-query' + becomes possible. + 2005-07-26 06:14:34 "Brent J. Nordquist" (brendan) * doc/manual.sgml.head: Correct a couple of typos (and change diff --git a/crypt-gpgme.c b/crypt-gpgme.c index a147693..bfcd5de 100644 --- a/crypt-gpgme.c +++ b/crypt-gpgme.c @@ -319,7 +319,7 @@ static gpgme_ctx_t create_gpgme_context (int for_smime) err = gpgme_new (&ctx); if (err) { - mutt_error ("error creating gpgme context: %s\n", gpgme_strerror (err)); + mutt_error (_("error creating gpgme context: %s\n"), gpgme_strerror (err)); sleep (2); mutt_exit (1); } @@ -327,7 +327,7 @@ static gpgme_ctx_t create_gpgme_context (int for_smime) if (for_smime) { err = gpgme_set_protocol (ctx, GPGME_PROTOCOL_CMS); if (err) { - mutt_error ("error enabling CMS protocol: %s\n", gpgme_strerror (err)); + mutt_error (_("error enabling CMS protocol: %s\n"), gpgme_strerror (err)); sleep (2); mutt_exit (1); } @@ -345,7 +345,7 @@ static gpgme_data_t create_gpgme_data (void) err = gpgme_data_new (&data); if (err) { - mutt_error ("error creating gpgme data object: %s\n", + mutt_error (_("error creating gpgme data object: %s\n"), gpgme_strerror (err)); sleep (2); mutt_exit (1); @@ -404,7 +404,7 @@ static gpgme_data_t body_to_data_object (BODY * a, int convert) } unlink (tempfile); if (err) { - mutt_error ("error allocating data object: %s\n", gpgme_strerror (err)); + mutt_error (_("error allocating data object: %s\n"), gpgme_strerror (err)); return NULL; } @@ -421,7 +421,7 @@ static gpgme_data_t file_to_data_object (FILE * fp, long offset, long length) err = gpgme_data_new_from_filepart (&data, NULL, fp, offset, length); if (err) { - mutt_error ("error allocating data object: %s\n", gpgme_strerror (err)); + mutt_error (_("error allocating data object: %s\n"), gpgme_strerror (err)); return NULL; } @@ -438,7 +438,7 @@ static int data_object_to_stream (gpgme_data_t data, FILE * fp) err = ((gpgme_data_seek (data, 0, SEEK_SET) == -1) ? gpgme_error_from_errno (errno) : 0); if (err) { - mutt_error ("error rewinding data object: %s\n", gpgme_strerror (err)); + mutt_error (_("error rewinding data object: %s\n"), gpgme_strerror (err)); return -1; } @@ -456,7 +456,7 @@ static int data_object_to_stream (gpgme_data_t data, FILE * fp) } } if (nread == -1) { - mutt_error ("error reading data object: %s\n", strerror (errno)); + mutt_error (_("error reading data object: %s\n"), strerror (errno)); return -1; } return 0; @@ -498,7 +498,7 @@ static char *data_object_to_tempfile (gpgme_data_t data, FILE ** ret_fp) else fclose (fp); if (nread == -1) { - mutt_error ("error reading data object: %s\n", gpgme_strerror (err)); + mutt_error (_("error reading data object: %s\n"), gpgme_strerror (err)); unlink (tempfile); fclose (fp); return NULL; @@ -554,7 +554,7 @@ static gpgme_key_t *create_recipient_set (const char *keylist, rset[rset_n++] = key; } else { - mutt_error ("error adding recipient `%s': %s\n", + mutt_error (_("error adding recipient `%s': %s\n"), buf, gpgme_strerror (err)); FREE (&rset); return NULL; @@ -651,7 +651,7 @@ static char *encrypt_gpgme_object (gpgme_data_t plaintext, gpgme_key_t * rset, plaintext, ciphertext); mutt_need_hard_redraw (); if (err) { - mutt_error ("error encrypting data: %s\n", gpgme_strerror (err)); + mutt_error (_("error encrypting data: %s\n"), gpgme_strerror (err)); gpgme_data_release (ciphertext); gpgme_release (ctx); return NULL; @@ -744,7 +744,7 @@ static BODY *sign_message (BODY * a, int use_smime) if (err) { gpgme_data_release (signature); gpgme_release (ctx); - mutt_error ("error signing data: %s\n", gpgme_strerror (err)); + mutt_error (_("error signing data: %s\n"), gpgme_strerror (err)); return NULL; } @@ -1238,7 +1238,7 @@ static int verify_one (BODY * sigbdy, STATE * s, err = gpgme_data_new_from_file (&message, tempfile, 1); if (err) { gpgme_data_release (signature); - mutt_error ("error allocating data object: %s\n", gpgme_strerror (err)); + mutt_error (_("error allocating data object: %s\n"), gpgme_strerror (err)); return -1; } ctx = create_gpgme_context (is_smime); @@ -3082,7 +3082,7 @@ static crypt_key_t *get_candidates (LIST * hints, unsigned int app, err = gpgme_new (&ctx); if (err) { - mutt_error ("gpgme_new failed: %s", gpgme_strerror (err)); + mutt_error (_("gpgme_new failed: %s"), gpgme_strerror (err)); FREE (&pattern); return NULL; } @@ -3117,7 +3117,7 @@ static crypt_key_t *get_candidates (LIST * hints, unsigned int app, FREE (&patarr[n]); FREE (&patarr); if (err) { - mutt_error ("gpgme_op_keylist_start failed: %s", gpgme_strerror (err)); + mutt_error (_("gpgme_op_keylist_start failed: %s"), gpgme_strerror (err)); gpgme_release (ctx); FREE (&pattern); return NULL; @@ -3162,7 +3162,7 @@ static crypt_key_t *get_candidates (LIST * hints, unsigned int app, } } if (gpg_err_code (err) != GPG_ERR_EOF) - mutt_error ("gpgme_op_keylist_next failed: %s", gpgme_strerror (err)); + mutt_error (_("gpgme_op_keylist_next failed: %s"), gpgme_strerror (err)); gpgme_op_keylist_end (ctx); no_pgphints: ; @@ -3173,7 +3173,7 @@ static crypt_key_t *get_candidates (LIST * hints, unsigned int app, gpgme_set_protocol (ctx, GPGME_PROTOCOL_CMS); err = gpgme_op_keylist_start (ctx, pattern, 0); if (err) { - mutt_error ("gpgme_op_keylist_start failed: %s", gpgme_strerror (err)); + mutt_error (_("gpgme_op_keylist_start failed: %s"), gpgme_strerror (err)); gpgme_release (ctx); FREE (&pattern); return NULL; @@ -3198,7 +3198,7 @@ static crypt_key_t *get_candidates (LIST * hints, unsigned int app, } } if (gpg_err_code (err) != GPG_ERR_EOF) - mutt_error ("gpgme_op_keylist_next failed: %s", gpgme_strerror (err)); + mutt_error (_("gpgme_op_keylist_next failed: %s"), gpgme_strerror (err)); gpgme_op_keylist_end (ctx); } diff --git a/enter.c b/enter.c index 65a61fc..cd98df9 100644 --- a/enter.c +++ b/enter.c @@ -268,7 +268,7 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x, if (ch != OP_NULL) { first = 0; - if (ch != OP_EDITOR_COMPLETE) + if (ch != OP_EDITOR_COMPLETE && ch != OP_EDITOR_COMPLETE_QUERY) state->tabs = 0; redraw = M_REDRAW_LINE; switch (ch) { @@ -450,6 +450,7 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x, /* fall through to completion routine (M_FILE) */ case OP_EDITOR_COMPLETE: + case OP_EDITOR_COMPLETE_QUERY: state->tabs++; if (flags & M_CMD) { for (i = state->curpos; i && state->wbuf[i - 1] != ' '; i--); @@ -474,7 +475,7 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x, replace_part (state, i, buf); } - else if (flags & M_ALIAS) { + else if (flags & M_ALIAS && ch == OP_EDITOR_COMPLETE) { /* invoke the alias-menu to get more addresses */ for (i = state->curpos; i && state->wbuf[i - 1] != ',' && state->wbuf[i - 1] != ':'; i--); @@ -487,8 +488,18 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x, goto bye; } break; - } - else if (flags & M_COMMAND) { + } else if (flags & M_ALIAS && ch == OP_EDITOR_COMPLETE_QUERY) { + /* invoke the query-menu to get more addresses */ + if ((i = state->curpos)) { + for (; i && state->wbuf[i - 1] != ','; i--); + for (; i < state->curpos && state->wbuf[i] == ' '; i++); + } + my_wcstombs (buf, buflen, state->wbuf + i, state->curpos - i); + mutt_query_complete (buf, buflen); + replace_part (state, i, buf); + rv = 1; + goto bye; + } else if (flags & M_COMMAND) { my_wcstombs (buf, buflen, state->wbuf, state->curpos); i = mutt_strlen (buf); if (i && buf[i - 1] == '=' && @@ -536,24 +547,6 @@ int _mutt_enter_string (char *buf, size_t buflen, int y, int x, goto self_insert; break; - case OP_EDITOR_COMPLETE_QUERY: - if (flags & M_ALIAS) { - /* invoke the query-menu to get more addresses */ - if ((i = state->curpos)) { - for (; i && state->wbuf[i - 1] != ','; i--); - for (; i < state->curpos && state->wbuf[i] == ' '; i++); - } - - my_wcstombs (buf, buflen, state->wbuf + i, state->curpos - i); - mutt_query_complete (buf, buflen); - replace_part (state, i, buf); - - rv = 1; - goto bye; - } - else - goto self_insert; - case OP_EDITOR_QUOTE_CHAR: { event_t event; diff --git a/imap/imap.c b/imap/imap.c index 40489b4..fdd468e 100644 --- a/imap/imap.c +++ b/imap/imap.c @@ -716,6 +716,12 @@ int imap_open_mailbox_append (CONTEXT * ctx) imap_fix_path (idata, mx.mbox, mailbox, sizeof (mailbox)); + /* We may be appending to the same folder we've selected. */ + if (!ascii_strcmp(idata->mailbox, mx.mbox)) { + FREE (&mx.mbox); + return 0; + } + imap_munge_mbox_name (mbox, sizeof (mbox), mailbox); if (mutt_bit_isset (idata->capabilities, IMAP4REV1)) diff --git a/init.h b/init.h index b839d0b..148459f 100644 --- a/init.h +++ b/init.h @@ -1434,7 +1434,7 @@ struct option_t MuttVars[] = { ** This variable controls the number of lines of context that are given ** when scrolling through menus. (Similar to ``$$pager_context''.) */ - {"menu_move_off", DT_BOOL, R_NONE, OPTMENUMOVEOFF, 0}, + {"menu_move_off", DT_BOOL, R_NONE, OPTMENUMOVEOFF, 1}, /* ** .pp ** When \fIunset\fP, the bottom entry of menus will never scroll up past diff --git a/mutt_socket.c b/mutt_socket.c index 4c3baaa..a38534c 100644 --- a/mutt_socket.c +++ b/mutt_socket.c @@ -44,7 +44,7 @@ static CONNECTION *Connections = NULL; /* forward declarations */ static int socket_preconnect (void); static int socket_connect (int fd, struct sockaddr *sa); -static CONNECTION *socket_new_conn (); +static CONNECTION *socket_new_conn (void); /* Wrappers */ int mutt_socket_open (CONNECTION * conn) @@ -324,7 +324,7 @@ static int socket_connect (int fd, struct sockaddr *sa) } /* socket_new_conn: allocate and initialise a new connection. */ -static CONNECTION *socket_new_conn () +static CONNECTION *socket_new_conn (void) { CONNECTION *conn; diff --git a/mutt_ssl_gnutls.c b/mutt_ssl_gnutls.c index 7b6cb09..1284aa3 100644 --- a/mutt_ssl_gnutls.c +++ b/mutt_ssl_gnutls.c @@ -56,7 +56,7 @@ static int tls_init (void) err = gnutls_global_init (); if (err < 0) { - mutt_error ("gnutls_global_init: %s", gnutls_strerror (err)); + mutt_error (_("gnutls_global_init: %s"), gnutls_strerror (err)); mutt_sleep (2); return -1; } @@ -84,14 +84,14 @@ static int tls_socket_read (CONNECTION * conn, char *buf, size_t len) int ret; if (!data) { - mutt_error ("Error: no TLS socket open"); + mutt_error (_("Error: no TLS socket open")); mutt_sleep (2); return -1; } ret = gnutls_record_recv (data->state, buf, len); if (gnutls_error_is_fatal (ret) == 1) { - mutt_error ("tls_socket_read (%s)", gnutls_strerror (ret)); + mutt_error (_("tls_socket_read (%s)"), gnutls_strerror (ret)); mutt_sleep (4); return -1; } @@ -104,14 +104,14 @@ static int tls_socket_write (CONNECTION * conn, const char *buf, size_t len) int ret; if (!data) { - mutt_error ("Error: no TLS socket open"); + mutt_error (_("Error: no TLS socket open")); mutt_sleep (2); return -1; } ret = gnutls_record_send (data->state, buf, len); if (gnutls_error_is_fatal (ret) == 1) { - mutt_error ("tls_socket_write (%s)", gnutls_strerror (ret)); + mutt_error (_("tls_socket_write (%s)"), gnutls_strerror (ret)); mutt_sleep (4); return -1; } @@ -160,7 +160,7 @@ static int tls_negotiate (CONNECTION * conn) err = gnutls_certificate_allocate_credentials (&data->xcred); if (err < 0) { FREE (&conn->sockdata); - mutt_error ("gnutls_certificate_allocate_credentials: %s", + mutt_error (_("gnutls_certificate_allocate_credentials: %s"), gnutls_strerror (err)); mutt_sleep (2); return -1; @@ -225,11 +225,11 @@ static int tls_negotiate (CONNECTION * conn) } if (err < 0) { if (err == GNUTLS_E_FATAL_ALERT_RECEIVED) { - mutt_error ("gnutls_handshake: %s(%s)", gnutls_strerror (err), + mutt_error (_("gnutls_handshake: %s(%s)"), gnutls_strerror (err), gnutls_alert_get_name (gnutls_alert_get (data->state))); } else { - mutt_error ("gnutls_handshake: %s", gnutls_strerror (err)); + mutt_error (_("gnutls_handshake: %s"), gnutls_strerror (err)); } mutt_sleep (2); goto fail; diff --git a/po/POTFILES.in b/po/POTFILES.in index 0dbeee9..2fed082 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -10,6 +10,8 @@ commands.c compose.c compress.c crypt.c +cryptglue.c +crypt-gpgme.c curs_lib.c curs_main.c edit.c @@ -41,6 +43,9 @@ mh.c muttlib.c mutt_socket.c mutt_ssl.c +mutt_ssl_gnutls.c +mutt_ssl_nss.c +mutt_tunnel.c mx.c newsrc.c nntp.c -- 2.20.1