Rocco Rutte:
authorpdmef <pdmef@e385b8ad-14ed-0310-8656-cc95a2468c6d>
Tue, 26 Jul 2005 19:15:18 +0000 (19:15 +0000)
committerpdmef <pdmef@e385b8ad-14ed-0310-8656-cc95a2468c6d>
Tue, 26 Jul 2005 19:15:18 +0000 (19:15 +0000)
- merge in latest mutt changes

git-svn-id: svn://svn.berlios.de/mutt-ng/trunk@349 e385b8ad-14ed-0310-8656-cc95a2468c6d

ChangeLog.mutt
crypt-gpgme.c
enter.c
imap/imap.c
init.h
mutt_socket.c
mutt_ssl_gnutls.c
po/POTFILES.in

index 005c223..d72a363 100644 (file)
@@ -1,3 +1,27 @@
+2005-07-26 18:45:01  TAKAHASHI Tamotsu  <ttakah@lapis.plala.or.jp>  (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@kublai.com>  (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  <sithglan@stud.uni-erlangen.de>  (roessler)
+
+       * init.h: Return $menu_move_off default to status quo ante.
+
+2005-07-26 16:39:17  Thomas Glanzmann  <sithglan@stud.uni-erlangen.de>  (roessler)
+
+       * init.h: hcache spelling fixes
+
+2005-07-26 16:37:28  Tamotsu Takahashi  <ttakah@lapis.plala.or.jp>  (roessler)
+
+       * enter.c: Introduce fall-back from complete-query to complete
+       for the edit menu, so 'bind editor <tab> complete-query'
+       becomes possible.
+
 2005-07-26 06:14:34  "Brent J. Nordquist"  <brent@nordist.net>  (brendan)
 
        * doc/manual.sgml.head: Correct a couple of typos (and change
index a147693..bfcd5de 100644 (file)
@@ -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 (file)
--- 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;
index 40489b4..fdd468e 100644 (file)
@@ -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 (file)
--- 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
index 4c3baaa..a38534c 100644 (file)
@@ -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;
 
index 7b6cb09..1284aa3 100644 (file)
@@ -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;
index 0dbeee9..2fed082 100644 (file)
@@ -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