2004-12-14 [paul] 0.9.13cvs16
authorPaul Mangan <paul@claws-mail.org>
Tue, 14 Dec 2004 07:15:43 +0000 (07:15 +0000)
committerPaul Mangan <paul@claws-mail.org>
Tue, 14 Dec 2004 07:15:43 +0000 (07:15 +0000)
* ChangeLog
* ChangeLog.jp
* src/action.c
* src/compose.c
* src/common/utils.c
sync with main, see ChangeLog entries 2004-12-10
and 2004-12-13

ChangeLog
ChangeLog.claws
ChangeLog.jp
PATCHSETS
configure.ac
src/action.c
src/common/utils.c
src/compose.c

index bd95577..b195e6f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+2004-12-13
+
+       * src/compose.c: compose_wrap_line_all_full(): only insert space
+         when joining lines if the first character of the next line is not
+         space, or it's a boundary between multi- and single-byte characters.
+
+2004-12-13
+
+       * src/action.c: parse_append_filename(): escape special characters
+         (thanks to IWAMOTO Kouichi).
+       * src/utils.c: subst_for_filename(): also substitute single quote.
+
+2004-12-10
+
+       * src/compose.c: compose_wrap_line_all_full(): fixed joining line
+         problem when the first character of the next line is not
+         alphanumeric.
+
+2004-12-09
+
+       * src/main.c: send_queue()
+         src/mainwindow.c: send_queue_cb()
+         src/compose.c: compose_send(), compose_send_later_cb(): ask user
+         to switch to online if in offline mode when sending.
+
+2004-12-08
+
+       * src/imap.c: applied bitlength_clean_up.imap.c.patch that fixes the
+         integer length problem on 64-bit platforms (thanks to Alfons).
+
 2004-12-03
 
        * version 1.0.0beta4
index d7b5c31..feebc87 100644 (file)
@@ -1,3 +1,13 @@
+2004-12-14 [paul]      0.9.13cvs16
+
+       * ChangeLog
+       * ChangeLog.jp
+       * src/action.c
+       * src/compose.c
+       * src/common/utils.c
+               sync with main, see ChangeLog entries 2004-12-10
+               and 2004-12-13
+
 2004-12-13 [thorsten]  0.9.13cvs15
 
        * src/plugins/spamassassin/libspamc.c
index 28300ec..387ac21 100644 (file)
@@ -1,3 +1,34 @@
+2004-12-13
+
+       * src/compose.c: compose_wrap_line_all_full(): ¼¡¤Î¹Ô¤ÎºÇ½é¤Îʸ»ú¤¬
+         ¶õÇò¤Ç¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï¥Þ¥ë¥Á¥Ð¥¤¥È¤È¥·¥ó¥°¥ë¥Ð¥¤¥È¤Î¶­³¦¤Î¾ì¹ç
+         ¤Î¤ß¹Ô·ë¹ç»þ¤Ë¶õÇò¤òÁÞÆþ¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£
+
+2004-12-13
+
+       * src/action.c: parse_append_filename(): ÆÃÊÌʸ»ú¤ò¥¨¥¹¥±¡¼¥×¤¹¤ë
+         ¤è¤¦¤Ë¤·¤¿(IWAMOTO Kouichi ¤µ¤ó thanks)¡£
+       * src/utils.c: subst_for_filename(): ¥·¥ó¥°¥ë¥¯¥©¡¼¥È¤âÃÖ´¹¤¹¤ë
+         ¤è¤¦¤Ë¤·¤¿¡£
+
+2004-12-10
+
+       * src/compose.c: compose_wrap_line_all_full(): ¼¡¤Î¹Ô¤ÎºÇ½é¤Îʸ»ú¤¬
+         ±Ñ¿ô»ú¤Ç¤Ê¤¤¾ì¹ç¤Î¹Ô¤Î·ë¹ç¤ÎÌäÂê¤ò½¤Àµ¡£
+
+2004-12-09
+
+       * src/main.c: send_queue()
+         src/mainwindow.c: send_queue_cb()
+         src/compose.c: compose_send(), compose_send_later_cb(): Á÷¿®»þ¡¢
+         ¥ª¥Õ¥é¥¤¥ó¥â¡¼¥É¤Î¤È¤­¤Ï ¥æ¡¼¥¶¤Ë¥ª¥ó¥é¥¤¥ó¤ËÀÚ¤êÂؤ¨¤ë¤è¤¦¤Ë
+         Â¥¤¹¤è¤¦¤Ë¤·¤¿¡£
+
+2004-12-08
+
+       * src/imap.c: bitlength_clean_up.imap.c.patch ¤òŬÍÑ(64-bit ´Ä¶­¤Ç¤Î
+         À°¿ôŤÎÌäÂê¤ò½¤Àµ) (Alfons ¤µ¤ó thanks)¡£
+
 2004-12-03
 
        * version 1.0.0beta4
index 5fbacae..a158dea 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.27 -r 1.28 src/quote_fmt_parse.y; ) > 0.9.13cvs13.patchset
 ( cvs diff -u -r 1.17 -r 1.18 src/gtk/prefswindow.c; cvs diff -u -r 1.9 -r 1.10 src/gtk/pluginwindow.c; ) > 0.9.13cvs14.patchset
 ( cvs diff -u -r 1.8 -r 1.9 src/plugins/spamassassin/libspamc.c; ) > 0.9.13cvs15.patchset
+( cvs diff -u -r 1.449 -r 1.450 ChangeLog; cvs diff -u -r 1.444 -r 1.445 ChangeLog.jp; cvs diff -u -r 1.18 -r 1.19 src/action.c; cvs diff -u -r 1.463 -r 1.464 src/compose.c; cvs diff -u -r 1.60 -r 1.61 src/common/utils.c; ) > 0.9.13cvs16.patchset
index d360e03..eb7d980 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=13
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=15
+EXTRA_VERSION=16
 EXTRA_RELEASE=
 
 if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then
index e68a563..cc34475 100644 (file)
@@ -334,13 +334,28 @@ static gchar *parse_action_cmd(gchar *action, MsgInfo *msginfo,
 static gboolean parse_append_filename(GString *cmd, MsgInfo *msginfo)
 {
        gchar *filename;
+       gchar *p;
 
        g_return_val_if_fail(msginfo, FALSE);
 
        filename = procmsg_get_message_file(msginfo);
 
        if (filename) {
-               g_string_append(cmd, filename);
+               g_string_append_c(cmd, '"');
+               for (p = filename; *p != '\0'; p++) {
+                       switch (*p) {
+                       case '$':
+                       case '"':
+                       case '`':
+                       case '\\':
+                               g_string_append_c(cmd, '\\');
+                               break;
+                       default:
+                               break;
+                       }
+                       g_string_append_c(cmd, *p);
+               }
+               g_string_append_c(cmd, '"');
                g_free(filename);
        } else {
                alertpanel_error(_("Could not get message file %d"),
@@ -460,7 +475,7 @@ static void action_update_menu(GtkItemFactory *ifactory,
                action_p = strstr(action, ": ");
                if (action_p && action_p[2] &&
                    action_get_type(&action_p[2]) != ACTION_ERROR) {
-                       action_p[0] = 0x00;
+                       action_p[0] = '\0';
                        menu_path = g_strdup_printf("%s/%s", branch_path,
                                                    action);
                        ifentry.path = menu_path;
@@ -797,6 +812,7 @@ static ChildInfo *fork_child(gchar *cmd, const gchar *msg_str,
        }
 
        debug_print("Forking child and grandchild.\n");
+       debug_print("Executing: /bin/sh -c %s\n", cmd);
 
        pid = fork();
        if (pid == 0) { /* Child */
@@ -836,7 +852,7 @@ static ChildInfo *fork_child(gchar *cmd, const gchar *msg_str,
                        cmdline[0] = "sh";
                        cmdline[1] = "-c";
                        cmdline[2] = cmd;
-                       cmdline[3] = 0;
+                       cmdline[3] = NULL;
                        execvp("/bin/sh", cmdline);
 
                        perror("execvp");
index 159ffac..810ae48 100644 (file)
@@ -1080,7 +1080,7 @@ void subst_chars(gchar *str, gchar *orig, gchar subst)
 
 void subst_for_filename(gchar *str)
 {
-       subst_chars(str, " \t\r\n\"/\\", '_');
+       subst_chars(str, " \t\r\n\"'/\\", '_');
 }
 
 void subst_for_shellsafe_filename(gchar *str)
index f226bf9..f166402 100644 (file)
@@ -2761,13 +2761,21 @@ static void compose_wrap_line_all_full(Compose *compose, gboolean autowrap)
                                }
 
                                GET_CHAR(cur_pos, cb, clen);
-
-                               /* insert space if it's alphanumeric */
-                               if ((cur_pos != line_pos) &&
-                                   ((clen > 1) || isalnum((guchar)cb[0]))) {
-                                       gtk_stext_insert(text, NULL, NULL,
-                                                       NULL, " ", 1);
-                                       tlen++;
+                               /* insert space between the next line */
+                               if (cur_pos > 0) {
+                                       gint clen_prev;
+                                       gchar cb_prev[MB_LEN_MAX];
+
+                                       GET_CHAR(cur_pos - 1, cb_prev,
+                                                clen_prev);
+                                       if (clen_prev != clen ||
+                                           (clen == 1 &&
+                                            !isspace((guchar)cb[0]))) {
+                                               gtk_stext_insert
+                                                       (text, NULL, NULL,
+                                                        NULL, " ", 1);
+                                               tlen++;
+                                       }
                                }
 
                                /* and start over with current line */