3 * src/session.c: session_recv_msg(): removed debug print.
10 imap_cmd_fetch(): check for data size that servers return (fixes
11 vulnerability found in BugTraq).
15 * src/addr_compl.c: get_complete_address()
16 src/addressbook.c: addressbook_format_address()
17 src/compose.c: QUOTE_IF_REQUIRED(): quote if name contains
18 characters that is not defined in atext (RFC 2822, 3.2.4. Atom).
19 * src/main.c: main(): set colormap and visual to solve color problem
20 in Solaris (thanks to Markus Schwarzenberg).
28 * src/prefs_account.c: temporarily removed POP before SMTP option.
32 * src/prefs_common.[ch]: changed the description of "Open message when
33 cursor keys are pressed on summary".
34 * src/summaryview.c: summary_show(): open message when always_show_msg
39 * src/logwindow.[ch]: restrict the maximum lines of the log messages
40 to reduce the memory usage.
44 * src/compose.c: compose_insert_sig(): fixed a crash when signature
45 string contains illegal sequence.
46 * src/utils.[ch]: changed get_wcs_len() to get_mbs_len() for accuracy.
50 * major refactoring of MIME structure.
51 * src/procmime.c: procmime_scan_message(): decrypt message if
52 gpgme is enabled. Create multipart tree only if content-type is
53 multipart/* or message/rfc822.
54 procmime_scan_multipart_message(): fixed the scanning of
56 * src/action.c: parse_append_msgpart()
57 src/messageview.c: messageview_show()
58 src/mimeview.c: mimeview_show_message(): use procmime_scan_message()
59 instead of procmsg_open_message() and procmime_scan_mime_header().
60 mimeview_set_multipart_tree(): conform to the new MIME structure.
61 * src/textview.c: textview_show_part(): removed unnecessary check.
62 * src/procmsg.c: procmsg_open_message_decrypted(): fixed the file
63 pointer when decryption failed.
67 * src/ssl.c: ssl_init_socket_with_method(): replaced log_warning()
68 by g_warning(), and log_print() by debug_print().
69 * src/pop.[ch]: added an error code PS_NOTSUPPORTED, and retry with
70 LAST if UIDL is not supported.
74 * src/codeconv.c: conv_get_code_conv_func(): convert to EUC-JP only
75 if it is the current locale encoding when dest_charset_str is NULL.
79 * src/action.c: execute_actions(): fixed crash when no text widget
80 is selected (thanks to Paul and Melvin).
82 src/prefs_actions.c: added missing reference to Claws team in the
89 session_send_data(): fixed a memory leak and data sending bug.
91 send_message_smtp(): fixed focus management.
95 * src/smtp.[ch]: set the response string to SMTPSession::error_msg
97 * src/send_message.c: show error dialog if error occurred.
98 * src/main.c: send_queue()
99 src/mainwindow.c: send_queue_cb(): don't show error dialog here.
103 * src/session.c: session_close(): kill child process only if
104 state is not SESSION_DISCONNECTED.
105 * src/send_message.c: send_cancel_button_cb()
106 src/inc.c: inc_cancel(): don't set Session::state to
107 SESSION_DISCONNECTED.
108 * src/prefs.[ch]: modified the names of prefs_write_*().
109 * src/address.[ch]: removed.
113 * src/compose.c: compose_template_apply(): overwrite recipients.
117 * src/procheader.c: procheader_date_parse(): removed debug print.
118 * src/session.c: changed every g_print to debug_print.
119 session_child_input(): removed unrequired session_close() (it'll
120 be closed anyway after returning FALSE).
121 * src/send_message.c: send_message_smtp(): changed g_print to
126 * src/procheader.c: procheader_procheader_date_parse(): don't add
127 local timezone offset if timezone is unknown.
128 Made the Y2K workaround code to follow RFC 2822.
129 procheader_scan_date_string(): workaround for date strings which
130 don't have timezone specification.
131 * src/utils.c: remote_tzoffset_sec(): return -1 if timezone is
136 * src/action.[ch]: refactored. Also fixed a bug on MIME mode, and
137 some memory leaks on error.
138 action_update_msgview_menu(): new.
139 * src/messageview.[ch]: added "Tools/Actions" menu. Keep window list.
140 messageview_get_selected_mime_part(): returns MimeInfo of selected
141 part when MessageView is in MIME mode.
142 * src/mimeview.[ch]: mimeview_get_selected_part(): returns MimeInfo
144 * src/summaryview.[ch]: summary_get_selected_msg_list(): returns
145 MsgInfo list of selected messages.
149 * src/prefs_filter.[ch]: include original message's headers as
150 the preset keywords. Modified the sizes of the widgets.
151 * src/utils.[ch]: added str_case_equal() and str_case_hash() for
152 case-insensitive hash.
156 * src/procmsg.c: procmsg_get_filter_keyword(): added X-Sequence to
157 auto-detected headers.
161 src/mainwindow.c: modified function names.
162 get_user_string(): Use input_dialog() instead of its own
167 * src/codeconv.[ch]: conv_encode_header(): don't include '(' and ')'
168 in encoded strings if addr_field is TRUE.
169 * src/compose.c: compose_convert_header(): added a flag 'addr_field'.
173 * src/prefs_actions.[ch]: separated action execution routine into
178 * src/prefs_actions.c: minor code cleanup.
182 * src/codeconv.[ch]: conv_iconv_strdup(): fixed the handling of
188 inc_recv_data_progressive()
189 inc_recv_data_finished()
192 send_send_data_progressive()
193 send_send_data_finished(): added assertion.
197 * src/codeconv.[ch]: conv_iconv_strdup(): fixed potential memory
202 * src/codeconv.[ch]: conv_iconv_strdup(): don't include nul character
203 in source buffer since it messed up some encoding conversion (like
208 * src/procmsg.c: procmsg_get_filter_keyword(): unfold headers and
209 extract ID from List-Id header.
210 * src/utils.[ch]: extract_one_parenthesis_with_skip_quote(): removed.
211 extract_list_id_str(): extract ID string from List-Id header.
215 * src/prefs_actions.c: merged from the claws branch. Fixes several
216 bugs and adds some features.
220 * src/compose.c: compose_parse_header(): fixed a bug that unnecessary
221 linebreaks were included on reediting.
223 src/pop.c: fixed typos: 'occured'.
227 * src/compose.[ch]: implemented auto signature replacement on
229 compose_insert_sig(): added a flag to replace current signature.
230 compose_get_signature_str(): new. It returns signature string.
231 compose_insert_command_output(): removed.
232 compose_select_account(): call compose_insert_sig() on account
234 compose_destroy(): fixed a memory leak of UndoMain object.
235 Compose::sig_str: new. It stores current signature string.
236 * src/gtkutils.[ch]: gtkut_stext_find(): new.
237 Renamed gtk_stext_clear() to gtkut_stext_clear().
238 * src/utils.[ch]: get_wcs_len(): returns wide-character length of
240 normalize_newlines(): converts CR+LF and CR into LF.
241 get_command_output(): returns command output.
245 * src/procmsg.[ch]: procmsg_get_filter_keyword(): new. It returns
246 filter keyword for messages.
247 * src/summaryview.c: summary_filter_open(): use
248 procmsg_get_filter_keyword().
249 * src/messageview.c: create_filter_cb(): implemented.
255 inc_put_error(): display server responses on error.
256 * src/pop.[ch]: added Pop3Session::error_msg, and set server responses
261 * src/messageview.[ch]: separated the forced charset of message view
262 in separate window from the main window.
264 textview_show_message()
266 textview_add_part(): use MessageView::forced_charset if specified.
270 * src/mainwindow.c: modified File menu a bit.
271 * src/menu.[ch]: added functions to handle item factory rc strings.
272 * src/messageview.[ch]: added a menu, and made it take over main
273 window's menu shortcuts.
274 added msginfo which is duplicated on display to MessageView.
275 * src/prefs_common.c: prefs_keybind_apply_clicked(): use
276 menu_factory_clear_rc().
280 * send_message.c: send_message_smtp():
281 re-enabled forcing of SMTP AUTH method.
282 Clear temporary password if authentication failed.
283 * smtp.c: output warning to log and set SMTPSession::error_val
285 * smtp.h: changed error value to enum. Added SMTPSession::error_val.
286 * src/mbox.c: proc_mbox(): force updating of folder.
290 * src/pop.h: changed error value to enum.
291 * src/pop.c: pop3_retr_recv(): return PS_IOERR when inc_drop_message()
293 pop3_ok(): return appropriate error value based on current state.
294 Output warning to log if error occurs.
299 src/news.[ch]: refactored. Remove NNTPSockInfo and use NNTPSession
304 * src/inc.c: inc_pop3_session_do(): retrun appropriate error if
305 Session::state == SESSION_ERROR.
306 * po/POTFILES.in: removed src/automaton.c and src/send.c.
307 Added src/send_message.c.
312 src/session.c: fixed breakage of POP3 retrieval.
313 session_recv_data_from_sock_unescape(): read until terminator
314 appears and also return the actual size.
318 * src/automaton.[ch]: removed.
319 * src/session.c: removed some of the debug output.
320 * src/smtp.c: smtp_session_recv_msg(): workaround in case server
321 returns EHLO-style response to HELO command.
322 Ignore all multiline responses except for EHLO since they are
323 allowed for any command.
328 src/pop.c: fixed retrieval of messages which contain dot-escaped
330 session_recv_data(): added a flag for unescape.
331 session_recv_data_from_sock_unescape(): new. It receives message
332 for each line and unescapes dot-escaped lines.
333 Removed the previous workaround.
334 * src/defs.h: decreased UI_REFRESH_INTERVAL to 40 msec.
338 * src/pop.[ch]: workaround for brekage of retrieval when given size
339 and actual one is different.
343 * src/pop.c: pop3_retr_eom_recv(): ignore invalid end of message
344 since some servers sometimes return incorrect message size.
345 * src/news.c: news_session_new(): zero clear NNTPSession object.
346 Don't initialize Session::sock with nntp_sock->sock to prevent
347 double-free of SockInfo.
348 * src/imap.c: zero clear IMAPSession object.
349 imap_cmd_append(): don't close SockInfo.
353 * src/pop.c: pop3_session_recv_msg(): fixed STLS.
358 src/pop.[ch]: reimplemented using new I/O system.
359 * src/session.[ch]: session_recv_data(): new.
360 session_send_data_to_sock()
361 session_recv_data_from_sock(): decreased the frequency of progress
366 * src/smtp.c: smtp_auth_recv(): fixed CRAM-MD5 authentication.
370 * src/session.[ch]: session_start_tls(): new.
371 session_recv_msg(): made it static.
375 * implemented asynchronous network I/O.
376 * src/session.[ch]: the interface to communicate with servers through
379 src/send_message.[ch]: rewrote using new I/O system.
380 * src/socket.[ch]: renamed *_write() to *_write_all(), and made
381 *_write() as just a simple wrapper for write().
382 * src/utils.c: get_outgoing_rfc2822_str(): new. It modifies the
383 message to send with SMTP or NNTP.
384 file_read_stream_to_str(): new.
388 * src/textview.c: textview_button_pressed(): corrected the range of
390 * src/compose.c: compose_wrap_line_all_full(): treat UTF-8 characters
391 represented with more than 2 bytes as 2 character width and 2 bytes
392 one as a single character width as a workaround for wrapping problem.
396 * src/utils.c: subject_compare_for_sort(): allow null strings (fixes
401 * implemented HTML link correctly.
402 * src/html.[ch]: HTMLAttr, HTMLTag: new structure for attributes /
404 html_get_tag(): new. It parses tag and returns HTMLTag object.
405 html_parse_tag(): also parses <a> tags and 'href' attributes.
406 * src/textview.c: textview_write_link(): new. It creates link string.
410 * src/compose.c: compose_wrap_line_all_full(): fixed an infinite
411 loop / crash bug (thanks to Darko Koruga).
412 compose_write_to_file(): put correct charset element when
413 conversion failed but want to send anyway.
417 * src/headerview.c: headerview_show()
418 src/textview.c: textview_write_line(): remove unreadable characters
419 from displayed strings to prevent crashes on multi-byte
421 * src/codeconv.[ch]: conv_unreadable_locale(): new. It was separated
422 from conv_localetodisp().
426 * src/procmsg.c: procmsg_cmp_by_subject()
427 src/summaryview.c: summary_cmp_by_subject(): ignore Re: when
430 subject_compare_for_sort()
431 trim_subject_for_sort(): new.
439 * src/defs.h: added -i option to the default sendmail command.
443 * src/codeconv.[ch]: added missing character encodings and locales.
448 procmsg_get_mark_sum()
449 procmsg_open_mark_file()
450 procmsg_read_mark_file(): take FolderItem instead of directory
455 * src/codeconv.c: conv_encode_header(): fixed a bug that spaces
456 which is on the wrap boundary would be lost when encoding long
457 non-ascii strings (thanks to Sergey Vlasov).
458 Don't force wrapping within a long word until it reaches hard line
459 length limit (998 characters) (workaround for the breakage of
460 long address list with no spaces).
464 * src/prefs_account.c: fixed compile failure when using neither
469 * src/codeconv.c: fixed UTF-8 locale support.
470 conv_get_code_conv_func(): return conv_noconv if locale encoding
471 is UTF-8. Return conv_latintodisp on ISO-8859-* to locale encoding
473 conv_convert(): call conv_iconv_strdup() instead of
474 conv_codeset_strdup().
475 conv_codeset_strdup(): moved some codes into conv_iconv_strdup().
479 * src/prefs_account.[ch]: added an option to use command output for
481 * src/compose.c: compose_insert_sig(): use command output if
483 compose_insert_command_output(): new.
487 * src/main.c: main(): remove lock socket if sylpheed is not running
488 when --status command is executed.
489 lock_socket_remove(): new.
493 * src/codeconv.c: conv_codeset_strdup(): don't convert if current
494 codeset is US-ASCII (or POSIX).
498 * src/codeconv.c: conv_iconv_strdup(): try to skip invalid characters
499 and continue conversion.
503 * src/summaryview.c: summary_selected(): always update widget
508 * src/utils.c: tzoffset_sec(): fixed a bug that displayed wrong
509 date in timezones more than GMT+12 or less than GMT-12.
513 * src/prefs_common.[ch]
514 src/sourcewindow.c: remember the size of source window.
515 * src/md5.c: fixed a compile problem with gcc 3.3.
519 * src/about.c: about_create(): modified the copyright notice.
523 * src/colorlabel.c: don't use pixmaps for label color rect but draw
524 rectangles so we can respect the color map of palette based visuals
525 (fixes the long time crashes on Solaris - thanks to Alfons
530 * src/procheader.c: procheader_date_parse(): made month string case
532 * src/prefs_filter.c: prefs_filter_close(): fixed the crash when the
533 selection list is empty.
537 * src/quote_fmt_parse.y: removed gettext translatable strings.
538 * src/unmime.c: unmime_header(): remove broken characters when
539 code conversion failed.
540 * src/codeconv.c: conv_encode_header(): fixed a bug that broken
541 headers if long words more than 75 characters are entered.
545 * src/prefs_account.c: prefs_account_receive_create()
546 src/utils.c: to_human_readable(): made units translatable.
550 * src/codeconv.c: isprintableeuckanji(): don't allow more than 0xf4
551 at first byte (fixes abort() problem of glibc).
552 * src/html.c: html_read_line(): remove characters which can't be
553 displayed on the current locale.
558 trim_subject_for_compare(): renamed from trim_subject().
559 trim_subject(): new. It removes [...] or (...) at the beginning
561 * src/prefs_folder_item.c
563 added options for trimming summary / compose subject.
564 * src/summaryview.c: summary_set_header(): trim subject if the folder
566 * src/compose.c: compose_reply_set_entry(): trim subject if the folder
572 LBREAK_IF_REQUIRED(): don't break lines before first word (fixes
573 X-Face header problem).
574 conv_encode_header(): allow up to 97 characters for one word.
578 * src/filter.c: filter_match_condition(): fixed the bug that
579 second condition ignored regex.
580 * src/news.h: NewsGroupInfo: use guint for message numbers
581 (fix count in grouplist dialog) (thanks to Thorsten Maerz).
585 * src/codeconv.c: conv_encode_header(): fixed a segfault bug
586 on code conversion failure.
587 conv_get_charset_str()
588 conv_get_charset_from_str(): optimized using hash table.
592 * src/quote_fmt_parse.y:
593 SHOW_MESSAGE_NO_SIGNATURE, SHOW_QUOTED_MESSAGE_NO_SIGNATURE:
594 treat only "\n-- \n" as a signature separator.
598 * src/gtkutils.[ch]: gtkut_ctree_node_prev(): new.
599 * src/summary_search.c: summary_search_execute(): search collapsed
605 conv_unreadable_latin(): include 0x7f as an unreadable character.
606 conv_localetodisp(): don't remove 8bit characters by default.
607 conv_get_current_charset()
608 conv_get_outgoing_charset(): return ISO-8859-15 if "@euro" is
609 appended at the last of locale name.
610 * src/compose.c: compose_write_to_file(): show from and to encoding
611 when code conversion failed.
619 * src/procmsg.h: WRITE_CACHE_DATA(): little speed improvement
620 (thanks to Colin Leroy).
621 * src/mh.c: mh_get_msginfo(): added NULL check (thanks to Thorsten
626 * src/textview.c: textview_write_line(): don't convert if conv is
632 renamed conv_guess_encoding() to conv_guess_ja_encoding().
633 conv_localetodisp(): new. It removes unreadable characters from
634 (assumed) current locale string.
635 conv_codeset_strdup(): convert into ISO-8859-1 if dest_code is
636 NULL and current locale encoding is US-ASCII.
637 conv_get_code_conv_func(): return conv_ustodisp if US-ASCII is
638 specified for destination charset.
639 * src/textview.c: textview_write_line(): use conv_localetodisp()
640 instead of strncpy2() if conversion failed.
644 * src/codeconv.c: conv_iconv_strdup()
646 imap_modified_utf7_to_locale()
647 imap_locale_to_modified_utf7(): use ICONV_CONST macro to remove
648 a warning on some systems.
649 * src/codeconv.c: conv_iconv_strdup(): flush iconv() output and
651 Return NULL instead of incomplete string if conversion failed.
655 * src/summaryview.c: summary_execute(): select appropriate node
656 if currently selected node is to be deleted.
657 * src/gtkutils.[ch]: gtkut_ctree_node_is_selected(): new. Returns
658 TRUE if the specified node is selected.
662 * src/summaryview.c: summary_status_show(): fixed a occasional crash
663 on deleting or moving.
667 * src/codeconv.c: conv_unreadable_eucjp(): made the validity check
668 of EUC-JP more accurate.
669 isprintableeuckanji(): new. Use table for validity check of EUC-JP.
681 * src/quoted-printable.c: qp_encode_line(): fixed linebreak
682 duplication bug if the source string has CRLF.
684 canonicalize_str(): new. Returns newly allocated canonicalized
686 uncanonicalize_file(): new. Uncanonicalize (CRLF -> LF) text.
687 uncanonicalize_file_replace(): new.
688 * src/compose.c: always canonicalize body before processing, and
689 uncanonicalize before returning.
693 * src/procmime.c: procmime_get_encoding_for_charset(): prefer
694 ENC_8BIT for Russian charsets.
695 * src/compose.c: compose_write_to_file(): use base64 when signing
700 * src/prefs_common.c: prefs_send_create(): added a description for
701 the setting of Content-Transfer-Encoding.
705 * src/codeconv.c: fixed locale_table for Russian locales (thanks to
707 * src/procmime.c: procmime_get_encoding_for_charset(): return
708 ENC_BASE64 for ISO-8859-5, KOI8-* and Windows-1251.
709 * src/compose.c: compose_attach_append(): set correct Content-
710 Transfer-Encoding for message/rfc822.
711 compose_write_to_file(): enabled user-definable Content-Transfer-
713 * src/prefs_common.[ch]: added an option for user-defined Content-
718 * src/quoted-printable.[ch]: qp_encode_line(): fixed a bug if the
719 line doesn't end with linebreak.
723 * implemented quoted-printable encoding.
724 * src/quoted-printable.[ch]: qp_encode_line(): new.
726 compose_write_to_file()
727 compose_write_attach(): implemented quoted-printable encoding.
728 compose_attach_property_create(): enabled quoted-printable menu
730 * src/procmime.c: procmime_get_encoding_for_charset(): return
731 ENC_QUOTED_PRINTABLE for ISO-8859-* and CP125* charset.
732 * src/Makefile.am: added $(LIBICONV) to sylpheed_LDADD for libiconv
739 src/utils.[ch]: get_abbrev_newsgroup_name(): improved the way
740 of abbreviation of newsgroup name.
744 * configure.in: show the result of iconv detection.
748 * src/codeconv.[ch]: made the transition from libjconv to iconv().
749 conv_iconv_strdup(): new.
753 src/prefs_common.c: replaced HAVE_LIBJCONV to HAVE_ICONV.
759 src/prefs_folder_item.c: English fix (property -> properties).
760 * src/prefs_filter.c: alert if entry is not saved.
761 prefs_filter_dialog_to_filter(): new.
765 * src/codeconv.c: conv_encode_header(): fixed a bug which output raw
766 strings after linefeed.
771 * src/codeconv.[ch]: code cleanup and optimization.
772 conv_code_converter_new()
773 conv_convert(): use functions obtained by conv_get_code_conv_func()
775 conv_codeset_strdup(): code cleanup.
776 conv_get_code_conv_func(): added an argument for destination
777 character set, and generalized.
781 * src/codeconv.c: LBREAK_IF_REQUIRED(): break line only if some
783 * src/compose.c: compose_convert_header(): remove trailing spaces.
784 * src/customheader.c: custom_header_read_str(): strip the spaces
786 * src/prefs_customheader.c: prefs_custom_header_clist_set_row():
787 strip the spaces of name and value.
795 * src/codeconv.c: conv_encode_header(): fixed a bug which will run
796 into infinite loop when encountering invalid characters.
800 * src/procmsg.[ch]: procmsg_sort_msg_list(): new. It sorts message
802 * src/summaryview.c: summary_show(): removed summary_sort() because
803 it is done inside folder_item_get_msg_list(). This will improve
804 the performance of summary display.
805 Sorted out the summary sort functions using macros.
809 src/folder.[ch]: folder_item_get_msg_list(): return pre-sorted
810 list if FolderItem::sort_key is set.
811 Added SORT_BY_TO to FolderSortKey enum.
812 * src/mainwindow.c: added "View/Sort/by recipient".
820 * src/codeconv.c: conv_encode_header(): fix for redundant space on
822 * src/compose.c: compose_convert_header(): always pass string to
823 conv_encode_header() for line-breaking.
827 * src/textview.c: textview_make_clickable_parts(): fixed incorrect
828 parsing of email addresses.
832 * src/defs.h: added DEFAULT_BROWSER_CMD.
833 * src/mimeview.c: mimeview_view_file()
834 src/prefs_common.c: prefs_other_create()
835 src/utils.c: open_uri(): changed the default web browser to
836 mozilla, and changed 'raise' command (which is undocumented)
837 to 'new-window' in 'netscape -remote'.
841 * src/compose.c: compose_send_control_enter(): fixed crash on
842 Ctrl-Enter when Message/Send has no accelerator key (thanks to
850 sort_summary_type_cb(): prevent unwanted processing on unchecking
855 * src/main.c: process command line option before gtk_init() to
856 enable remote operation without X (thanks to Ruslan N. Balkin).
857 * src/codeconv.c: conv_encode_header(): fixed a potential buffer
862 * src/Makefile.am: changed $(target_alias) to $(target_triplet)
863 (the spec of autotools seems to be changed).
867 * src/imap.c: get path separator using LIST command if server
868 doesn't support NAMESPACE (based on the patch by Brian Sammon).
869 imap_parse_list(): added an argument to return path separator.
870 imap_get_namespace_by_list(): new.
874 * src/addr_compl.c: add_address(): removed the debug print.
875 * src/gtkutils.[ch]: gtkut_window_popup()
876 src/mainwindow.c: main_window_popup(): applied the patch to fix
877 the behavior of window popup from Sergey Vlasov (thanks!)
878 * src/account.c: account_edit_create(): use signal_connect_after
879 for row_move signal to fix the row position bug.
880 account_row_moved(): scroll the CList half page.
881 * src/prefs_filter.c: prefs_filter_row_move(): scroll the CList
883 * src/summaryview.c: summary_reply(): use selection text only if
884 the displayed message is selected (thanks to Sergey Vlasov).
888 * src/codeconv.c: conv_encode_header(): reimplemented the routine
889 of MIME header encoding. And use Q-encoding method if the current
890 locale is single-byte one.
891 * src/utils.[ch]: is_next_nonascii(): take multi-byte string instead
892 of wide-character string. Consider control codes as non-ASCII.
893 get_next_word_len(): new. It returns the length of next word.
894 is_next_mbs(), find_wspace(): removed.
895 * src/quoted-printable.[ch]: new.
896 qp_decode_line(): decodes one QP line.
897 qp_decode_q_encoding(): decodes Q-encoded string in MIME header.
898 qp_get_q_encoding_len(): returns the length when a string is
900 qp_q_encode(): Q-encode a string (RFC 2047).
901 * src/unmime.c: moved the functions for quoted-printable to
906 * src/send.c: send_message_local(): escape line that only have one
907 dot character (postfix's sendmail command will stop there).
911 * src/send.c: send_message_local(): don't escape first-dot line
912 (thanks to Sergey Vlasov).
916 * autogen.sh: added 'libtoolize --force --copy' to override the
918 * acconfig.h: removed.
919 * configure.in: increased minimal version of GPGME to 0.3.10.
920 Fixed checking of XIM.
922 ac/gnupg-check-typedef.m4: added an argument for comment.
926 * src/imageview.[ch]: fixed conflicting declarations of
927 imageview_show_image() (thanks to Thorsten Maerz).
931 * src/compose.c: compose_entry_append(): don't add ", " on subject
933 * src/codeconv.c: conv_get_outgoing_charset(): obtain outgoing
934 charset from the table (currently disabled for non-Japanese locales).
935 conv_get_current_locale(): also refer to LC_CTYPE.
939 * README: added a description about hidden settings.
943 * src/prefs_common.[ch]: reorganized the common prefs dialog.
944 Made enable_hscrollbar and bold_unread hidden options.
948 * src/quote_fmt_parse.y: fixed a parse error (thanks to Andreas Hinz).
953 account_find_from_message_file()
954 account_find_from_msginfo(): new. They find an account from the
955 headers like 'From:', 'X-Sylpheed-Account-Id:', and 'AID:' in the
958 compose_reedit(): restore messages' previous account on composition.
959 compose_write_headers(): add 'X-Sylpheed-Account-Id:' header
964 * src/compose.c: cleaned up the code using compose_entry_set()
965 (don't use gtk_entry_set_text() directly).
969 * src/imap.c: imap_parse_namespace(): fixed a memory leak.
973 * updated autotools and libtool to the latest version.
974 * configure.in: added AC_PREREQ(2.50).
978 * src/textview.c: textview_set_font(): fix for message display in
979 UTF-8 locales (thanks to Sergey Vlasov).
983 * src/imageview.[ch]: imageview_show_image(): resize images to fit
984 the window size if specified.
985 * src/prefs_common.[ch]: added an option 'Resize attached images'.
989 * refactoring for SMTP implementation.
990 * src/session.h: added ui_func to Session.
991 * src/smtp.[ch]: separated the connection routine from
992 smtp_session_new() to smtp_connect().
993 Changed the argument of every function other than smtp_ok() from
994 SockInfo to SMTPSession.
995 Call UI callback from each functions.
996 * src/send.c: send_message_smtp(): separated the code for UI update
997 into send_progress_dialog_update().
1001 * src/smtp.[ch]: separated smtp_auth() from smtp_from().
1002 * src/send.c: send_message_smtp(): call smtp_auth() and display
1003 the state to the dialog.
1007 * src/filter.c: strmatch_regex(): use extended regex (thanks to
1009 * src/main.c: main(): removed the code for assortrc -> filterrc
1011 * src/gtkutils.c: gtkut_font_load(): only use gdk_font_load() if
1012 current locale is C or POSIX.
1013 gtkut_stext_is_uri_string(): include "www." for URI string.
1014 * src/textview.c: textview_make_clickable_parts(): include "www."
1023 * src/textview.c: textview_add_part(): indicate signature status
1024 using different colors.
1028 * src/folder.c: folder_write_list_recursive(): escape
1029 To/Cc/Bcc/Reply-To strings.
1033 * src/codeconv.c: conv_encode_header(): enabled B-encoding of
1034 headers on locales other than Japanese when not using libjconv.
1038 * src/inc.[ch]: added INC_IO_ERROR to IncState. Also added its
1039 corresponding error message.
1040 inc_pop3_session_do(): set INC_IO_ERROR instead of INC_NOSPACE
1045 * src/prefs_account.[ch]: removed prefs_account_save_config() since
1047 * src/procmime.[ch]: removed procmime_mimeinfo_free() since
1048 procmime_mimeinfo_free_all() can be used in every case.
1052 * src/account.c: account_get_special_folder(): support F_INBOX, and
1057 * src/compose.[ch]: ComposeEntryType: changed COMPOSE_* to
1058 COMPOSE_ENTRY_*, and added
1059 COMPOSE_ENTRY_{REPLY_TO,SUBJECT,FOLLOWUP_TO}.
1062 compose_redirect(): added FolderItem to the arguments, and reflect
1063 settings in the item.
1064 compose_entry_set(): new.
1065 compose_entry_append(): code cleanup.
1066 compose_entries_set_from_item(): take ComposeMode in its arguments,
1067 and enabled FolderItem::use_auto_to_on_reply.
1068 * src/summaryview.c: summary_reply(): pass folder_item to
1069 compose_{reply,forward,redirect}().
1073 * src/gtkutils.[ch]:
1074 gtkut_font_load(): new. It automatically choose font or fontset
1076 gtkut_font_load_from_fontset(): new. It tries to load single font
1077 instead of fontset from a fontset string.
1081 src/summaryview.c: workaround for the problem that couldn't display
1082 8-bit characters in C or POSIX locale (use font instead of fontset).
1085 src/textview.c: made code cleanup using gtkut_font_load*().
1089 * src/mh.c: mh_get_msginfo(): set correct message number.
1093 * src/folder.[ch]: added a new virtual method Folder::get_msginfo().
1094 It returns a new MsgInfo associated to a message number.
1095 folder_item_get_msginfo(): new.
1096 * src/imap.[ch]: imap_get_msginfo(): new.
1097 * src/mh.[ch]: mh_get_msginfo(): new.
1098 * src/news.[ch]: news_get_msginfo(): new.
1102 * src/codeconv.c: conv_euctojis(): fixed a bug which will cause
1103 infinite loop if an invalid code appeared.
1107 * src/codeconv.c: conv_codeset_strdup()
1108 src/html.[ch]: html_read_line(): don't output conversion failure
1110 Added HTML_CONV_FAILED to the enum HTMLState.
1114 * implemented per-folder auto-set address (still in progress).
1115 * src/compose.[ch]: compose_new(): added FolderItem to its arguments,
1116 and set entries from it (if mailto is empty).
1117 compose_entry_append(): activate menu if required.
1118 compose_entries_set_from_item(): new.
1119 * src/folder.[ch]: added auto_to, use_auto_to_on_reply, auto_cc,
1120 auto_bcc, and auto_replyto to FolderItem, and renamed apply_sub to
1122 folder_build_tree(), folder_read_folder_func(),
1123 folder_write_list_recursive(): added the above members.
1124 * src/prefs_folder_item.[ch]: added auto-set addresses.
1125 * src/pop.[ch]: removed Pop3State::prev_folder.
1129 * src/compose.c: allow dropping files by also "moving" files from a
1130 file manager (thanks to Alfons).
1134 * compose_reply_set_entry(): made Reply-To have priority over
1135 List-Post on ML reply.
1139 * src/gtksctree.[ch]: gtk_sctree_set_anchor_row(): new.
1140 * src/summaryview.c: summary_step(): fixed a bug that lost the
1141 correct selection anchor.
1142 summary_key_pressed(): use gtk_sctree_select() instead of
1146 src/recv.c: differentiate disk full and socket errors
1147 (thanks to Colin Leroy).
1151 * src/account.c: account_edit_prefs(): removed unused variables.
1152 * src/compose.[ch]: separated WITH_QUOTE/WITHOUT_QUOTE flags in
1155 compose_reply_set_entry(): receive reply type with one argument.
1156 * src/summaryview.c: summary_reply(): reduced conditional branches.
1160 * src/compose.c: compose_redirect(), compose_reedit(): strip CR
1161 from line ends (thanks to Sergey Vlasov).
1162 * src/folderview.c: renamed 'Rescan folder tree' to 'Rebuild
1167 * src/folder.[ch]: added a virtual method Folder::remove_msgs().
1168 * src/imap.[ch]: implemented imap_remove_msgs() which expunges
1169 messages all at once.
1173 * src/account.[ch]: account_open(): new. It opens account prefs
1174 dialog and reflects to UI when finished.
1176 folderview_button_pressed()
1177 folderview_property_cb(): open account prefs dialog when the
1178 property of the root folder of remote account is requested.
1182 * src/account.c: account_destroy(): unref account information in
1184 * src/folder.[ch]: folder_unref_account_all(): new. It unref the
1185 specified account information in all folders.
1187 folderview_rm_imap_server_cb()
1188 folderview_rm_news_server_cb(): destroy Folder first because
1189 folder_destroy() refers to account information.
1193 * src/account.c: account_find_from_item(): fixed a bug which didn't
1194 select the correct account.
1195 * inc_pop3_session_do():
1196 fixed the resource leak when SSL initialization failed.
1197 Immediately break from temporary event loop if cancelled.
1201 * src/account.[ch]: account_find_from_item(): new.
1203 compose_reply(), compose_forward(), compose_redirect()
1204 src/mainwindow.c: compose_cb(): select optimal account when
1206 * src/folder.[ch]: added FolderItem::apply_sub.
1207 * src/menu.[ch]: menu_find_option_menu_index(): new. It finds the
1208 index of option menu which contains the specified data.
1209 * src/prefs_folder_item(): added Compose tab, and the setting of
1214 * configure.in: added $LDAP_LIBS for lber library detection.
1222 * src/procmsg.c: procmsg_msginfo_get_full_info(): fixed a memory
1223 leak, and added error checking.
1227 * src/compose.[ch]: added a flag Compose::use_newsgroups, and
1228 removed Compose::orig_account.
1229 compose_check_for_valid_recipient(): check only enabled entries.
1230 compose_write_headers()
1231 compose_redirect_write_headers(): add Newsgroups header only
1232 when the entry is enabled.
1233 compose_send(): modified the method of finding a mail account
1234 from a news account so that it tries to match the From address.
1235 * src/send.c: send_message_queue(): enabled the queueing of news
1237 * src/news.[ch]: news_post_stream(): new.
1241 * configure.in: check lber first and use $LDAP_LIBS on the check
1246 * po/*.po: fixed many typos of format strings which will lead to
1247 crash (thanks to Sergey Vlasov).
1251 * src/procheader.c: procheader_parse_stream(): added Cc header
1252 to the target for full parsing.
1253 * src/procmsg.[ch]: procmsg_msginfo_get_full_info(): new. It
1254 returns the full message information from the given information.
1255 * src/compose.c: compose_reply(), compose_forward(): get full
1256 message information for Cc header.
1260 * src/inc.c: inc_account_mail(), inc_all_account_mail(): update
1261 IMAP4 and NNTP folder summary after checking those accounts.
1269 * src/prefs_common.c: prefs_compose_create(): modified the label
1270 of the option for Reply button.
1271 * configure.in: add -lldap and -llber to the 5th argument of
1272 AC_CHECK_LIB() for LDAP library detection.
1277 INSTALL.jp: updated.
1281 * src/mainwindow.c: toggle the behavior of Reply button between
1282 normal reply and reply-to-list.
1283 * src/prefs_common.[ch]: added an option to switch the function
1288 * src/compose.c: compose_new(): removed the workaround for XIM
1289 because it doesn't have any effect and only seems to cause
1294 * src/compose.[ch]: compose_reply(): added a flag for reply-to-ML.
1295 compose_parse_header(): parse also List-Post header.
1296 compose_reply_set_entry(): support reply-to-ML (fall back to
1297 normal reply if ML address is not found).
1300 src/summaryview.c: reorganized Reply menu and added 'Reply to
1302 * src/utils.[ch]: scan_mailto_url(): new. It scans mailto URL and
1303 returns newly allocated parameters.
1307 * src/account.c: account_read_config_all(): set account information
1308 to default before initializing with configuration file.
1309 * src/prefs_account.[ch]: prefs_account_new(): new. It returns a
1310 newly created account information structure initialized by
1311 the default settings.
1316 replace_address_in_edit(): check if newtext is NULL.
1317 completion_window_button_press(): fixed a memory leak.
1318 * src/pop.c: LOOKUP_NEXT_MSG(): don't expire messages whose
1319 recv_time is RECV_TIME_KEEP.
1320 pop3_getrange_uidl_recv(): only set get_all flag if
1321 ac_prefs->getall is set.
1322 pop3_retr_recv(): don't delete messages which are not received
1323 by filter, and set recv_time to RECV_TIME_KEEP in the case.
1324 * src/pop.h: added an enum RecvTime.
1325 * src/inc.c: inc_drop_message(): unlink temporary message file if
1326 not received by filter.
1330 * src/mainwindow.c: added 'Edit/Select thread' menu.
1331 * src/summaryview.[ch]: added 'Select thread' to the context menu.
1332 summary_select_thread(): new. It selects all messages of current
1337 * src/rfc2015.c: check_signature(): corrected error handling and
1342 * src/rfc2015.c: check_signature(): correctly remove the last empty
1343 line, and canonicalize the file part before verifying (this should
1344 fix incompatibility with Evolution or some other MUAs).
1345 * src/utils.[ch]: copy_file_part(): new. It copies the specified
1346 range of file stream to another file.
1350 * src/compose.c: compose_write_to_file(): force BASE64 encoding for
1351 8-bit text when signing (thanks to Colin Leroy).
1355 * src/prefs_common.c: prefs_send_create(): fixed the charset string
1356 for Cyrillic (Windows-1251).
1364 * src/codeconv.c: changed the charset for ru_RU.CP1251 to
1365 Windows-1251. Added bg_BG locale.
1369 * src/compose.c: account_activated(): change the state of menu items
1370 and entries according to the selected account.
1371 compose_select_account(): new. It changes the state of title bar,
1372 menu items and entries.
1376 * src/inc.c: inc_mail(): correct new_msgs when inc_spool() returned
1378 Don't refresh summary view on fetching when open_inbox_on_inc is
1383 * src/summaryview.c: summary_show(): refresh even if open_inbox_on_inc
1384 is set (to avoid summary refresh problem).
1385 * src/imap.c: removed warnings by checking the existence of directory
1386 before calling remove*_numbered_files().
1390 * src/prefs_common.c: corrected English.
1394 * src/prefs_common.[ch]: added an option: "Mark messages as read
1395 only when opened in new window".
1400 folder_tree_destroy()
1401 folder_write_list_recursive(): added sanity check.
1402 * src/imap.c: imap_scan_tree(): if folder->node is NULL and
1403 can't get session, create empty folder node (based on the
1404 Alfons' suggestion).
1408 * src/textview.c: textview_key_pressed(): pass GDK_Delete event to
1410 * src/summaryview.c: summary_key_pressed(): scroll correct TextView
1415 * src/news.c: news_scan_group(): fixed wrong message number
1420 * major refactoring for POP3.
1421 * src/inc.[ch]: moved Pop3State, inc_pop3_state_new(),
1422 inc_pop3_state_destroy(), inc_get_uidl_table(), and
1423 inc_write_uidl_list() into pop.c.
1424 Moved Pop3State::folder_table and Pop3State::inc_state into
1427 inc_put_error(): added lockbusy state.
1428 inc_pop3_session_do(): obtain inc_state from Pop3State::error_val.
1429 inc_cancel(): don't terminate the automaton here but just set
1430 the flags to prevent crash.
1432 pop3_getauth_pass_recv()
1433 pop3_getauth_apop_recv(): check lockbusy state.
1434 pop3_retr_recv(): check Pop3State::cancelled flag.
1435 * src/automaton.[ch]: added 'cancelled' flag to Automaton.
1436 automaton_input_cb(): terminate if cancelled flag is true.
1437 * sylpheed.desktop: changed Type=Internet to Type=Application.
1438 Added Categories=Application;Network;.
1444 src/progressdialog.c: show detailed information to the status
1446 Added cur_total_recv_bytes to Pop3State.
1447 * src/prefs_common.[ch]: added an option to specify whether to
1448 close receive dialog when finished.
1452 * src/folder.[ch]: folder_get_path(): new. It returns the root path
1456 imap_folder_destroy()
1458 imap_remove_all_msg()
1459 news_folder_destroy(): remove cache directories / files when
1460 deleting Folder / messages.
1464 is_file_entry_exist(): check if the argument is NULL.
1466 remove_numbered_files()
1467 remove_expired_files(): fixed memory leaks on error.
1476 src/smtp.[ch]: made Folder and Session destructor virtual method.
1480 * src/compose.c: do joining of normal lines only when auto-wrapping.
1481 * src/main.c: modified the warning message for GnuPG.
1482 * src/about.c: about_create(): modified the compiled-in features
1484 * configure.in: improved LDAP library checking (thanks to Alfons).
1494 compose_wrap_line_all(): backed out the change to join lines that
1499 * configure.in: require at least gpgme-0.3.5.
1503 * src/alertpanel.c: alertpanel_create(): minor modification.
1512 * src/alertpanel.c: alertpanel_create(): modified the layout.
1513 * src/rfc2015.c: check_signature(): don't abort on error.
1517 * src/compose.c: compose_wrap_line_all(): freeze widget only if
1518 required to repress flickers.
1522 * src/compose.c: improved line wrapping.
1524 compose_wrap_line_all(): also join lines that are not indented.
1525 dump_text(): handle multi-byte strings correctly.
1529 * src/compose.c: compose_wrap_line_all(): fix for auto-wrapping
1530 (go to next line when space is entered at line limit).
1534 * src/inc.c: inc_get_uidl_table(): fixed a memory leak reported by
1539 * src/mh.c: mh_scan_tree_recursive(): disabled Maildir folder
1540 checking to prevent confusion.
1544 * src/folder.[ch]: folder_item_get_msg_list(): added a wrapper for
1545 method Folder::get_msg_list().
1546 * src/account.c: account_edit_prefs(), account_delete(): use
1547 folderview_set_all() instead of folderview_rescan_all().
1548 * src/folderview.[ch]:
1549 folderview_check_new_all(): new. Updates all folders.
1550 folderview_rescan_tree(): confirm before executing.
1551 folderview_rescan_all(): commented out since it's not used anymore.
1552 folderview_update_item_foreach(): added a flag for summary update.
1553 * src/inc.c: inc_finished(): update summary only when
1554 prefs_common.scan_all_after_inc is set.
1555 inc_drop_message(): set mtime of target folder to 0 to force
1556 the updating of summary.
1557 inc_start(), get_spool(): update also summary when updating
1559 * src/mainwindow.c: changed 'File - Rescan folder tree' to
1560 'File - Check for new messages in all folders'.
1564 * src/compose.c: compose_write_to_file(): clearsign message body
1566 compose_clearsign_text(): new. Replaces the string with clearsigned
1568 * src/prefs_account.c: added an option for clearsign.
1569 * src/rfc2015.c: rfc2015_clearsign(): new.
1570 pgp_sign(): added a flag for clearsign.
1571 * src/utils.[ch]: get_tmp_file(): return newly allocated unique file
1572 name (needs to be freed by caller).
1573 str_write_to_file(), file_read_to_str(): new.
1577 * src/procmsg.c: procmsg_read_mark_file(): check key duplication
1578 to avoid memory leak.
1582 * src/base64.c: include string.h for memcpy().
1583 * src/gtksctree.c: use macro ABS() instead of function abs().
1584 * src/prefs_account.c
1585 src/prefs_common.c: renamed 'send' to 'p_send' so as not to
1586 conflict with the function send() in sys/socket.h.
1587 * src/mainwindow.c: commented out the unnecessary functions.
1588 * src/utils.c: canonicalize_file_replace(): correct warning message.
1592 * src/utils.[ch]: get_tmp_file(): new. Returns the directory for
1593 temporary files in ~/.sylpheed/.
1594 * src/main.c: create temporary directory in ~/.sylpheed/.
1596 src/inc.c: create temporary files in ~/.sylpheed/, and modified
1598 compose_exec_ext_editor(): fixed a bug that failed to create the
1599 temporary file if g_get_tmp_dir() returned directory other than
1604 * src/utils.c: copy_file(): check if dest_bak != NULL when unlinking.
1608 * src/utils.[ch]: canonicalize_file_replace(): fixed a bug that fails
1609 to replace the file when the given file and temporary file are not
1610 on the same filesystem.
1611 copy_file(): added a flag whether to keep backup.
1612 move_file(): added a flag whether to overwrite the destination file.
1616 * src/socket.[ch]: fixed the linking failure when IPv6 is enabled.
1617 * src/select-keys.c: modified key selection dialog.
1621 * src/socket.[ch]: my_gethostbyname(): new.
1622 * src/utils.c: get_domain_name(): return FQDN instead of short
1623 hostname (thanks to Bob Woodside).
1624 * src/template.c: made the debug messages less verbose.
1628 * src/prefs_common.[ch]: removed obsolete default sign key setting.
1629 * src/utils.c: canonicalize_file(): correct the error check of
1634 * src/compose.c: compose_write_to_file():
1635 canonicalize line endings before encrypting/signing (this will fix
1636 interoperability with other MUAs).
1637 Removed unnecessary strdup.
1638 Don't encrypt/sign draft message.
1640 canonicalize_file(), canonicalize_file_replace(): new.
1642 src/select-keys.c: changed g_message() to debug_print() and
1644 * src/mimeview.c: mimeview_check_signature(): removed unnecessary
1645 MIME structure scanning.
1646 * src/textview.c: textview_add_part(): show signature status in
1649 src/sigstatus.c: modified translatable strings and some MIME
1654 * src/procmsg.c: procmsg_save_to_outbox(): don't forget to remove
1655 the temporary file when saving from queue.
1661 src/prefs_account.[ch]
1662 src/prefs_common.[ch]: merged GnuPG stuff from the claws branch.
1663 Modified some messages.
1667 * src/textview.c: textview_scan_header(): fixed a memory leak
1672 * src/prefs_actions.c: execute_actions(): put create_io_dialog()
1673 in right conditional block.
1677 * src/compose.c: compose_wrap_line_all(): fixed character buffer
1683 log_error(): add time stamp to log messages.
1688 corrected a typo (HAVE_SYS_SELECT -> HAVE_SYS_SELECT_H)
1692 * src/socket.c: implemented socket I/O timeout.
1694 * src/pop.c: check errors and return error value correctly.
1698 * src/prefs_actions.c: made the action's input/output dialog display
1699 without delay. Made the dialog modal instead of making window
1700 insensitive. Also cleaned up its UI.
1704 * implemented --attach command line option.
1706 Cmd::attach_files: new member to store file paths.
1707 parse_cmd_opt(): added --attach option. --compose option is implied.
1708 prohibit_duplicate_launch()
1709 lock_socket_input_cb(): added "compose_attach" message.
1712 src/textview.c: renamed compose_new_with_recipient() to
1713 compose_new(), and added an argument for attachment files.
1717 * src/logwindow.c: freeze GtkText widget while hidden.
1718 log_window_append(): changed the header for message and warning.
1722 * src/news.c: implement automatic cache expiration.
1723 news_delete_expired_caches(): new.
1724 news_get_article_list(): fixed a bug that nonexistent messages
1725 were not removed from list.
1726 * src/procmsg.[ch]: procmsg_get_last_num_in_msg_list(): renamed
1727 procmsg_get_last_num_in_cache().
1728 * src/utils.[ch]: remove_expired_files(): new.
1733 inc_mail(): force summary refresh when using external command for
1735 inc_all_account_mail(): fixed a bug on spool checking failure.
1746 src/editldap_basedn.c
1748 src/prefs_common.c: fixed memory leaks which didn't free strings
1749 gtk_editable_get_chars() returned. And minor code cleanups.
1751 src/vcard.h: removed C++-style comments.
1755 * src/codeconv.c: conv_encode_header(): fixed a problem in encoding
1756 strings which include both multi-byte and us-ascii characters.
1760 * src/utils.c: remove_numbered_files(): don't try to unlink()
1763 conv_get_code_conv_func(): return conv_anytodisp() if charset is
1765 conv_unmime_header_overwrite()
1766 conv_unmime_header(): do conv_anytodisp() before decoding header.
1774 * src/compose.c: added 'Tools/Actions' menu.
1778 * src/base64.c: a minor fix for BASE64VAL() macro.
1782 * src/base64.c: base64_decode(): fixed a buffer overrun bug.
1790 src/base64.[ch]: rewrote the BASE64 encode / decode routines.
1791 base64_encode(), base64_decode(): new.
1792 * src/rfc822.[ch]: removed.
1794 src/about.c: removed the copyright notice for fetchmail.
1800 src/unmime.[ch]: rewrote the MIME decode routines.
1802 unmime_quoted_printable_line(): new.
1804 procheader_get_one_field()
1805 procheader_get_unfolded_line(): remove also CR.
1809 * libkcc: removed from the source tree.
1811 src/about.c: removed the copyright notice for libkcc.
1812 * src/codeconv.c: conv_guess_encoding(): check for ASCII code first
1814 * src/prefs_actions.c: removed unnecessary spaces/tabs.
1818 * src/prefs_actions.c: comply with the coding style.
1819 Modified the UI design.
1820 * src/mainwindow.c: main_window_set_menu_sensitive(): enable Actions
1821 menu when multiple messages are selected.
1825 * src/prefs_actions.[ch]: merged the 'Actions' feature from claws.
1826 update_actions_menu(): simplified the menu deletion.
1827 * src/mainwindow.c: added 'Actions' menu to Tools and Configuration.
1831 * src/codeconv.[ch]: implemented conv_jistoeuc(), conv_euctojis(),
1832 conv_sjistoeuc(), and conv_guess_encoding(). Removed the dependency
1837 * configure.in: added check for strchr.
1841 * src/prefs_common.[ch]
1842 src/inc.c: added an option to inhibit receive error dialog.
1846 * src/account.c: account_find_from_address(): support multiple
1847 addresses in header.
1851 * src/gtksctree.[ch]: changed GtkSCTree::anchor_row from gint to
1852 GtkCTreeNode* so that it won't become invalid after the row move.
1853 Removed dependency to gtkutils.c.
1854 * src/prefs_common.[ch]
1855 src/summaryview.c: summary_selected(): added an option to show
1856 message when cursor keys are pressed on summary view.
1862 src/compose.c: changed "host_alias" to "target_alias" so that it
1863 shows the correct system name on cross-compiling (thanks to
1868 * src/prefs_account.[ch]: added the option menu to force an
1869 authentication method for SMTP AUTH.
1871 src/smtp.[ch]: smtp_from(), smtp_auth(): added an argument to
1872 specify the authentication method for SMTP AUTH.
1873 smtp_ehlo(): allow AUTH responses that don't comply with the RFC.
1877 * src/prefs_common.[ch]
1878 src/compose.c: enabled "Wrap on input".
1882 * src/summaryview.[ch]
1883 src/mainwindow.c: added "Go to/{Prev,Next} new message" menu.
1884 Made some code cleanups.
1889 src/prefs_common.[ch]: added the hidden option to specify the
1890 policy of the vertical scrollbar on folder view.
1894 * src/messageview.[ch]:
1895 messageview_copy_clipboard(): fixed a bug that couldn't copy text
1897 messageview_get_current_textview(): new.
1898 messageview_get_text_widget(): removed.
1899 * src/quote_fmt_parse.y: quote message even if msginfo is empty.
1900 * src/compose.[ch]: implemented the "Paste as quotation" feature.
1901 text_inserted(): new callback for "insert_text" signal.
1902 Add quote mark to the pasted text if Compose::paste_as_quotation
1907 * src/compose.c: if the Content-Type of a file is text/*, check
1908 its content and set the optimal Content-Transfer-Encoding (thanks
1913 * src/textview.c: textview_key_pressed(): pass key press event to
1914 main window to activate menu shortcuts (thanks to Alfons).
1918 * src/folder.c: folder_build_tree(): use strtoul() instead of atoi()
1919 for mtime to prevent flooring.
1922 imap_move_msgs_with_dest()
1923 imap_copy_msgs_with_dest(): fixed a bug that prevented multiple
1925 imap_parse_envelope()
1926 imap_cmd_envelope(): use RFC822.HEADER instead of ENVELOPE to get
1927 full information of messages and simplify the parser. Also fixed
1928 the bug that References header was ignored on threading.
1929 imap_parse_one_address()
1930 imap_parse_address(): removed.
1931 imap_get_header(): new. It reads the RFC822 header and returns
1932 a newly allocated string.
1933 * src/procheader.[ch]: changed procheader_parse() to
1934 procheader_parse_stream() and added different interfaces for it.
1938 * po/zh_TW.Big5.po: fixed a mistake that caused a crash.
1946 * src/inc.c: inc_get_uidl_table(): fixed a bug that garbage time
1947 could be inserted into the hash table.
1948 inc_write_uidl_list(): a minor code cleanup.
1949 * src/mainwindow.c: main_window_get_current_state():
1950 make the state unexecutable on an empty folder.
1951 * src/summaryview.c: summary_sort(): don't sort on an empty folder.
1952 * src/pop.c: minor code cleanups.
1956 * src/prefs_account.c: CREATE_RADIO_BUTTONS(): fixed a typo and
1957 corrected the behavior of the radio buttons.
1961 * implemented 'Delete messages after N days' feature for POP3.
1963 inc_get_uidl_table()
1964 inc_write_uidl_list(): moved the location of UIDL list file from
1965 RC_DIR/uidl-* to RC_DIR/uidl/*.
1966 Added received time for each UIDLs.
1967 src/main.c: main(): create RC_DIR/uidl/ directory.
1968 src/pop.[ch]: LOOKUP_NEXT_MSG(): delete expired messages here.
1969 Added recv_time to Pop3MsgInfo.
1970 src/prefs_account.[ch]: added an option for the number of days for
1979 * src/folder.c: folder_set_missing_folders(): fixed a bug that
1980 caused multiplication of special folders on startup if their
1982 * src/folderview.c: folderview_remove_mailbox_cb(): modified the
1987 * src/compose.c: compose_reply(), compose_forward(): reverted the
1988 last change since it causes lockup problem.
1992 * src/compose.c: compose_reply(), compose_forward(): don't autowrap
1994 compose_new_with_recipient(): workaround for initial XIM problem.
1998 * src/mainwindow.c: sort ascending / descending order can be
1999 specified with separated menu items.
2000 Added "View/Sort/Don't sort" menu item.
2001 * src/summaryview.[ch]: summary_sort(): added an argument for
2006 * implemented persistent sort order.
2008 folder_build_tree(): read 'sort_key' and 'sort_type' attributes.
2009 folder_write_list_recursive(): write sorting state.
2011 src/summaryview.[ch]: summary_show(): sort if required.
2012 select the top node on descending sort.
2013 Removed SummarySortType and sorting state variables from
2021 src/prefs_account.[ch]: enabled NNTP over SSL.
2022 * src/nntp.c: nntp_group(): issue MODE READER command and retry
2023 when GROUP command once failed (this seems to avoid problems on
2024 some broken news servers).
2028 * faq/it/*.html: corrected DOS linebreaks.
2029 * faq/*/*.html: changed ">" to ".
2033 * src/prefs_account.c: prefs_account_protocol_activated(): hide
2034 unnecessary frames in SSL tab.
2040 src/prefs_account.[ch]: enabled STLS command in POP3.
2041 * src/account.c: account_clist_set_row(): display TLS setting.
2045 * src/compose.c: compose_send_later_cb(): support redirect function.
2048 src/prefs_account.[ch]: enabled STARTTLS command in IMAP4.
2050 src/smtp.[ch]: use SSLType instead of SSLSMTPType.
2054 * src/utils.[ch]: make_dir(): wrapper for mkdir() and chmod().
2055 * src/compose.c: compose_create(): removed unrequired lines.
2059 * src/news.c: news_scan_group(): fixed a bug that set the wrong
2060 values in some cases.
2061 * src/prefs_account.c: corrected English in Advanced - Folder
2066 * src/textview.c: textview_show_message(), textview_show_part():
2067 fixed a bug that GtkSText *text pointed the incorrect object.
2068 textview_add_part(): freeze GtkSText while adding RFC822 headers.
2069 textview_show_part(): fixed a bug that couldn't display single
2070 part MIME message as text.
2074 * src/compose.c: compose_redirect_write_to_file(): correct the target
2075 for change_file_mode_rw(). Check if fclose() succeeded. Unlink
2076 incomplete file when an error occured.
2081 compose_create(): disable menus for draft on redirection mode.
2082 compose_redirect_write_to_file(): correct the error handling of
2084 * src/prefs_common.c: turned off the "Display recipient on `From'
2085 column if sender is yourself" option by default.
2089 * src/compose.[ch]: implemented 'Redirect' (aka Bounce) feature.
2090 Based on the implementation of the claws branch.
2091 compose_redirect(): create a new window and make it uneditable.
2092 compose_redirect_write_to_file(): copy headers and body of
2093 original message except for some.
2094 compose_redirect_write_headers(): add extra "Resent-*" headers.
2095 compose_create(): set menu sensitivity for redirection mode.
2099 * src/codeconv.c: conv_encode_header(): fixed a bug that unnecessary
2100 space is inserted between encoded string and the following folded
2101 one (thanks to Masahiro Tomita).
2105 * src/mainwindow.[ch]: some refactoring has been made.
2106 main_window_toggle_message_view(): moved summary_toggle_view_real()
2108 * src/messageview.[ch]: messageview_is_visible(): new.
2109 * src/summary_search.c
2110 src/summaryview.[ch]: SummaryView::msg_is_toggled_on: removed.
2111 Instead use messageview_is_visible().
2115 * src/mainwindow.c: added 'Expand/Collapse all threads' menu.
2116 * src/summaryview.[ch]:
2117 summary_expand_threads(), summary_collapse_threads(): new.
2121 * src/mainwindow.c: Fixed the behavior of
2122 '/View/Show or hide/Folder tree' and
2123 '/View/Show or hide/Message view' toggle menu.
2124 Removed '/View/Toggle summary view' menu and integrated the
2125 function into '/View/Show or hide/Message view'.
2126 main_window_set_widgets(): change the state of toggle menu items.
2127 * src/prefs_common.c: prefs_keybind_apply_clicked(): updated menurc
2132 * src/mimeview.c: mimeview_set_multipart_tree(): show single part
2133 MIME contents other than text as children of message/rfc822 part.
2135 procmime_mimeinfo_next(): modified for message/rfc822 part which
2136 content-type is single part MIME.
2137 procmime_scan_multipart_message(): fix for nested message/rfc822
2138 part. Corrected the size of the contents of message/rfc822.
2139 * src/textview.c: textview_show_part(): extract the contents of
2140 multipart/* and message/rfc822. Some code cleanups.
2141 textview_add_parts(): new. It adds the all parts under a part to
2143 textview_clear(): reset body_pos and cur_pos.
2147 * src/addr_compl.c: modified so that it behaves better.
2148 get_address_from_edit(): ignore comma inside of brackets.
2149 completion_window_apply_selection(): new. Only apply the current
2151 completion_window_accept_selection(): removed.
2152 address_completion_complete_address_in_entry(): minor code cleanup.
2153 don't replace address in entry here.
2154 completion_window_select_row(): always apply clist selection to
2156 completion_window_key_press(): don't apply selection here.
2160 * src/imap.c: imap_create_folder(): keep trailing directory separator
2161 to create a folder that contains sub folder.
2165 * src/foldersel.c: sort tree with case insensitive.
2166 * src/mainwindow.c: allsel_cb()
2167 src/messageview.c: messageview_select_all(): fixed 'Select all'
2169 * src/mainwindow.c: removed common and account prefs button from
2174 * src/compose.c: compose_account_option_menu_create(): check if
2183 * manual/ja/*: updated the Japanese manual (thanks to Yoichi Imai).
2184 manual/en/*: updated the English manual.
2186 faq/it/*: added German and Italian FAQ.
2189 faq/fr/*: updated FAQs.
2191 src/mainwindow.c: added German and Italian language.
2195 * src/prefs_account.c: turn off "receive at get all" option by default
2196 when creating an IMAP or News account.
2200 * src/imap.c: imap_scan_tree(): don't use namespace for prefix.
2201 * src/prefs_folder_item.c: show also identifier path.
2202 Made layout using table. Show uneditable entry using background
2204 * src/procmime.c: procmime_get_tmp_file_name(): generate safe
2209 * src/automaton.[ch]: added UI callback to Automaton.
2211 src/pop.c: use callback instead of calling inc_progress_update()
2213 pop3_getrange_uidl_recv(): don't fall back to LAST when 'get all'
2218 * src/folderview.c: properly sort abbreviated newsgroups.
2223 src/prefs_common.[ch]
2224 src/summaryview.c: added an option to specify the minimum length
2225 for abbreviated newsgroups name.
2229 * src/folderview.c: folderview_check_new(): skip unselectable folders.
2230 * src/summaryview.c: added 'Create filter rule' to the context menu.
2231 * src/imap.c: some code cleanups.
2232 imap_scan_tree_recursive(): get path separator for each calls.
2233 imap_get_path_separator(): new.
2237 * src/imap.[ch]: supported namespace for others/shared folders
2239 imap_parse_namespace(): parse also others/shared namespace.
2240 imap_find_namespace(): search also others/shared namespace.
2242 strchr_parenthesis_close(): return pointer to closing parenthesis.
2243 strsplit_parenthesis(): split parenthetic list into array of
2248 * src/procheader.c: procheader_date_parse(): fixed a bug that didn't
2249 parse date string like "Mon,6 May 2002 20:31:12 +0800".
2250 procheader_scan_date_string(): new. Separated string scanning
2251 part from procheader_date_parse().
2255 * src/summary_search.c: summary_search_execute(): unlock while
2256 selecting summary row (thanks to Martin Schaaf).
2257 * src/summaryview.c: summary_set_column_titles(): reversed the
2258 direction of the arrow so that it matches with Win/Mac style.
2262 * src/compose.c: compose_write_headers(): quote self address name
2263 if required. Some code cleanups. Don't override Newsgroups and
2264 Cc with custom headers.
2265 * src/imap.c: imap_add_msg(): return UID for appended message.
2266 * src/compose.c: compose_queue(): check if queue folder exists.
2267 * src/imap.c: QUOTE_IF_REQUIRED(): quote also other IMAP special
2269 imap_open(): removed an unrequired argument.
2273 * src/utils.[ch]: trim_string(): new. It trim characters longer than
2274 the specified length and adds "...".
2275 * src/folderview.c: trim folder name when displaying dialog.
2279 * src/imap.c: imap_create_folder(): don't add prefix for root INBOX
2281 * src/folderview.c: folderview_select()
2282 src/summary_search.c: summary_search_execute(): lock summary view
2283 while searching (thanks to Martin Schaaf).
2291 * sylpheed*.png: added new app icons by WAKAI Kazunao (thanks!).
2295 * src/summaryview.c: summary_show(): fixed a bug that didn't process
2297 * src/account.c: account_edit_prefs(): fixed a crash bug when account
2299 * src/prefs_account.c: prefs_account_apply(): display error dialog
2300 if account name is empty.
2301 * src/imap.c: changed some log_print() to debug_print() to reduce
2306 * src/mh.c: mh_get_new_msg_filename(): new. It returns the filename
2310 mh_do_move_msgs_with_dest()
2312 mh_copy_msgs_with_dest(): use mh_get_new_msg_filename().
2313 * src/utils.[ch]: added is_file_entry_exist() which returns TRUE
2314 if stat() succeeded.
2316 imap_fetch_msg(): SELECT mailbox before FETCH if required.
2317 imap_scan_folder(): set last_num using the value of UIDNEXT.
2318 imap_select(): return immediately if there is no need for SELECT.
2319 preserve the path of currently selected mailbox.
2320 imap_status(): added UIDNEXT.
2324 * src/folder.c: folder_item_scan(): removed the warning.
2325 * src/inputdialog.[ch]: input_dialog_combo(): added an argument for
2326 setting case sensitivity.
2330 * src/mainwindow.c: main_window_create(): restrict the minimum size.
2334 * src/compose.c: merged the new line-wrapping routine.
2335 join_next_line(): fixed a bug that didn't join multibyte
2337 get_indent_length(): modified enums and variable names.
2338 INDENT_CHARS: don't indent ':'.
2340 folderview_rename_folder_cb()
2341 folderview_delete_folder_cb(): support folder identifier.
2342 folderview_rm_imap_folder_cb(): integrated with
2343 folderview_delete_folder_cb().
2347 * src/folder.[ch]: folder_item_scan(): return -1 if scanning failed.
2348 * src/folderview.c: folderview_check_new(): abort checking if
2349 folder_item_scan() failed.
2353 * src/imap.c: imap_create_missing_folders(): create only INBOX and
2355 * src/prefs_folder_item.c: prefs_folder_item_set_dialog(): made the
2356 type of news folders unchangeable.
2357 prefs_folder_item_destroy(): use prefs_dialog_destroy().
2358 * src/prefs.[ch]: prefs_dialog_destroy(): new.
2362 * src/prefs_account.[ch]: added special folder setting to Advanced
2363 tab. Also moved "IMAP server directory" setting to there.
2364 * src/account.[ch]: account_get_special_folder(): new. It returns
2365 the optimal special folder for accounts.
2366 * src/compose.c: use account_get_special_folder().
2367 * src/prefs_folder_item.[ch]: new. Implemented folder property
2368 dialog, and the special folder settings (most of the functions in
2369 claws are not integrated yet, and the structure is slightly
2371 * src/folderview.c: enabled Property menu.
2375 * src/textview.c: IS_RFC822_CHAR(): make email parser also stop
2376 scanning when encountering separators ',' and ';'.
2380 * src/mainwindow.c: reorderd the menu a bit.
2381 * src/compose.c: made 'Ctrl-Enter' ignore some modifiers.
2382 compose_reply_set_entry(): made 'Reply to sender' work for
2387 * src/compose.c: compose_create(): set geometry hints to restrict
2388 the maximum size of window.
2389 * src/imap.c: imap_parse_list(): don't mark INBOX as \Noselect.
2390 imap_get_uncached_messages()
2391 imap_cmd_fetch(): ignore responses which don't include FETCH.
2395 * COPYING: re-licensed (removal of "NO-VIRUS CLAUSE" and addition of
2396 the clause for OpenSSL).
2400 * src/prefs_account.c
2401 src/smtp.[ch]: fixed a bug that didn't complie with OpenSSL enabled.
2407 src/session.[ch]: first reorganization of SMTP protocol handling.
2408 SMTPSession: new class which is a sub class of Session.
2409 smtp_session_new(): moved send_smtp_open() into this function.
2410 smtp_from(): moved SMTP AUTH calls into smtp_auth().
2411 smtp_auth(): use server response for SMTP AUTH method.
2412 smtp_ehlo(): read server response and set auth type flags.
2413 smtp_helo(): separated EHLO command.
2414 smtp_ok(): return the last server response if the buffer is
2416 * src/esmtp.[ch]: merged into smtp.[ch].
2417 * src/imap.c: imap_session_destroy_all(): use session_destroy().
2421 * src/imap.c: imap_open(): show warning message if IMAP4 session
2422 can't be established.
2426 * src/compose.c: made template able to be inserted into the current
2428 * src/mainwindow.c: moved some menu items under the submenu
2429 '/View/Show or hide'.
2434 src/inc.c: changed folder_find_item_from_path() to
2435 folder_find_item_from_identifier().
2437 src/prefs_filter.c: use folder_item_get_identifier() to specify
2442 * src/folder.[ch]: implemented "folder identifier" (and fixed a bug
2443 existed in claws' implementation).
2444 folder_find_from_name(): find Folder from name and type.
2445 folder_get_identifier(): return Folder id.
2446 folder_item_get_identifier(): return FolderItem id.
2447 folder_find_item_from_identifier(): find FolderItem from id.
2448 folder_get_type_string(): return folder type string.
2449 folder_get_type_from_string(): return FolderType from string
2450 (and fixed the wrong g_strcasecmp() usage).
2452 src/import.c: use folder_item_get_identifier() and
2453 folder_find_item_from_identifier().
2457 * src/imap.c: imap_parse_atom(): fixed a bug that cur_pos didn't
2458 point the correct address after reading the continuous line.
2459 imap_scan_folder(): set new number to 0 if unseen number is 0.
2460 imap_parse_flags(): don't add new and unread flag if \Seen flag
2462 * ac/Makefile.am: removed gpgme.m4 from MACROS.
2466 * fixed the old problem that couldn't add flags to currently opened
2469 compose_send(): update outbox after saving.
2471 compose_draft_cb(): use procmsg_add_flags().
2472 * src/folder.[ch]: added "opened" flag and "mark_queue" list to
2474 * src/main.c: send_queue(): send from all queue folders.
2475 * src/mainwindow.c: send_queue_cb(): send from all queue folders.
2477 procmsg_flush_mark_queue(): new. Write all queued flags into file.
2478 procmsg_add_flags(): new. Add specified flags to the folder.
2479 procmsg_send_queue(): added an argument to specify queue folder.
2480 procmsg_save_to_outbox(): use procmsg_add_flags().
2481 * src/summaryview.c:
2482 summary_show(): up the opened flag of FolderItem.
2483 summary_clear_list(): down the opened flag of FolderItem.
2484 summary_write_cache(): call procmsg_flush_mark_queue().
2488 * src/summaryview.[ch]: trim the tail of folder name and selected
2489 number on the status label if the space is not enough.
2493 * src/imap.c: imap_create_special_folder(): fixed a bug that didn't
2494 set SpecialFolderItemType when creating special folders under
2496 * ac/gpgme.m4: removed.
2498 * ac/missing/gdk-pixbuf.m4
2499 ac/missing/gettext.m4
2501 ac/missing/imlib.m4: added for convenience.
2505 * src/esmtp.c: esmtp_auth(): fixed a bug that some garbages are
2506 shown after the decoded challenge string. Fixed a memory leak.
2508 * src/compose.c: compose_draft_cb(): mark draft messages as read.
2509 * src/folderview.c: folderview_update_node(): disable emphasis
2510 for Outbox and Draft folders.
2514 * src/messageview.c: messageview_show(): fixed a memory leak.
2515 * src/summaryview.c: summary_save_as(): show error dialog if copy
2517 * src/about.c: about_show(): make the window active if it is already
2522 * src/compose.c: show confirmation dialog before sending if Subject
2524 compose_check_entries(): new.
2526 compose_send_later_cb(): use compose_check_entries().
2527 * src/imap.c: imap_parse_atom(): more fix for parsing responses.
2531 * src/imap.c: imap_parse_atom(): fixed a bug that didn't parse the
2532 responses with continuous line correctly, and fixed a memory leak.
2536 * src/undo.c: undo_insert_text_cb(): fixed a crash bug if the text
2538 * src/gtkstext.c: gtk_stext_button_press(): cancel current selection
2539 after pasting with middle button to prevent the selection growth.
2544 folderview_rename_folder_cb()
2545 folderview_delete_folder_cb(): modify filter rules only if the
2546 target folder is in the default mailbox.
2547 * src/utils.c: get_abbrev_newsgroup_name(): removed a redundant
2554 src/prefs_common.c: changed 'Tool' menu to 'Tools'.
2555 Moved 'Delete duplicated messages' under 'Tools'.
2559 * src/folderview.c: SET_SPECIAL_FOLDER(): keep the same parent
2561 * src/imap.c: imap_create_special_folder(): fixed a crash bug
2562 when folder creation failed, and re-try to create folders under
2564 imap_scan_tree_recursive(): don't automatically add namespace
2565 prefix if it's INBOX. Search also under the INBOX for special
2567 * src/foldersel.c: SET_SPECIAL_FOLDER(): keep the same parent
2572 * src/utils.[ch]: get_abbrev_newsgroup_name(): new. It returns the
2573 abbreviated newsgroup name.
2574 * src/folderview.c: folderview_update_node(): display newsgroups
2575 with abbreviated name if name and path is the same.
2576 * src/summaryview.c: summary_status_show(): show the newsgroup with
2582 src/folderview.c: changed the label 'Draft' to 'Drafts'.
2583 * src/imap.c: changed the directory name 'Draft' to 'Drafts'.
2584 imap_create_missing_folders(): fixed the wrong assignment of
2585 Queue folder to draft.
2589 * enabled Sent / Draft / Queue folders on IMAP server.
2590 * src/compose.c: compose_queue(), compose_draft_cb(): use account's
2591 queue and draft folder if they exist.
2593 imap_create_trash(): removed.
2594 imap_create_special_folder(): new. Generalized imap_create_trash().
2595 imap_create_missing_folders(): automatically create missing folders.
2596 imap_is_msg_changed(): added the dummy method.
2597 imap_scan_tree_recursive(): search also Sent, Draft and Queue
2598 folders. Minor code cleanups.
2599 imap_parse_envelope(): check for null strings.
2600 src/procmsg.c: procmsg_read_cache(): add F_QUEUE or F_DRAFT flag
2601 for messages on IMAP folder.
2605 * src/compose.c: compose_send(): use account's outbox folder
2607 * src/procmsg.[ch]: procmsg_save_to_outbox(): changed the API so
2608 that the outbox can be specified.
2612 * src/compose.c: don't save to outbox when messages are queued.
2613 compose_save_to_outbox(): moved to procmsg.c.
2614 * src/procmsg.[ch]: procmsg_send_queue(): save to outbox when
2616 procmsg_save_to_outbox(): new. Removes the queueing headers if
2617 needed, and adds the given file to the outbox.
2621 * src/compose.c: compose_wrap_line(): treat '|' also as quote char.
2622 get_indent_length(): treat ':' and '#' also as quote char, and
2623 cleaned up using strchr().
2627 * src/mainwindow.c: modified some menu items.
2631 * src/defs.h: changed OUTBOX_DIR from "outbox" to "sent"
2632 (current "outbox" will be kept until rescan).
2633 * src/folder.c: folder_set_missing_folders(): create the missing
2636 src/folderview.c: changed 'Outbox' to 'Sent'.
2637 * src/main.c: call folder_set_missing_folders().
2638 * src/mh.c: mh_scan_tree(): create missing folders.
2639 * src/summaryview.c: summary_set_menu_sensitive(): fixed a bug that
2640 didn't set the menu sensitivity correctly.
2645 src/imap.[ch]: implemented folder renaming on IMAP (thanks to Mio).
2646 folderview_rename_folder_cb(): reopen the current folder when
2647 the ancestor is renamed.
2648 imap_rename_folder(): new method implementation.
2650 imap_rename_folder_func(): new.
2651 imap_remove_folder(): remove also the cache directory.
2655 * src/imap.c: implemented locale encoding <-> modified utf-7
2656 conversion, and supported i18n of folder name (thanks to Suzuki
2658 imap_path_separator_subst(): handle the escape characters of
2660 imap_modified_utf7_to_locale()
2661 imap_locale_to_modified_utf7(): new.
2662 imap_create_trash(): modified so that it create the Trash folder
2663 to the correct location when imap directory is specified.
2664 imap_get_real_path(): removed debug print.
2668 * src/socket.c: implemented timeout for DNS lookup and connect().
2669 sock_connect_by_hostname(): timeout support and code cleanup.
2670 sock_connect_with_timeout(): new.
2671 sock_peek(): implemented SSL peek.
2675 * src/messageview.c: messageview_show(): display single-part
2676 text/html messages with the normal text view.
2690 src/prefs_customheader.c
2691 src/prefs_display_header.c
2706 src/xml.c: added 'b' to the option of all fopen().
2714 * src/ssl.[ch]: match its coding style.
2715 * src/compose.c: compose_send_later_cb(): fixed a bug that failed
2719 faq/en/sylpheed-faq*.html
2721 faq/es/sylpheed-faq*.html
2723 faq/fr/sylpheed-faq*.html
2729 src/manual.[ch]: added FAQs in English, Spanish and French.
2733 * manual/en/sylpheed*.html: updated to the latest version.
2738 src/mgutils.c: include string.h to remove warning about strlen()
2752 src/summaryview.c: added break to the last label of switch to
2753 prevent the 'deprecated use of label at end of compound statement'
2755 * src/rfc2015.c: passphrase_cb(): fixed the type of r_hd.
2759 * src/inc.[ch]: preserve the pointer to IncProgressDialog to the
2761 inc_cancel_all(): new. It cancels the all current incorporation.
2762 * src/mainwindow.c: added 'Cancel receiving' menu.
2763 * src/textview.c: a minor fix for single-part MIME messages, and
2764 a bit of cleanup for textview_write_body().
2768 * src/inc.c: inc_write_uidl_list(): fixed a bug that lost UIDL
2769 information if any errors occured before issuing UIDL command.
2770 src/inc.h: added uidl_is_valid to Pop3State.
2771 src/pop.c: set uidl_is_valid to TRUE if UIDL becomes valid.
2779 * src/mimeview.c: mimeview_create(): set the initial notebook page
2781 * src/folderview.c: folderview_selected(): scroll the view if the
2782 selected row is hidden.
2783 * src/prefs_filter.c: prefs_filter_register_cb(): scroll the view
2784 and select the added row.
2785 * src/summaryview.c: fix threading for null message ids.
2789 * src/textview.c: textview_show_message(): follow message/rfc822
2791 textview_add_part(): add a caption before the attached text files.
2792 textview_show_header(): don't add the newline.
2793 * src/messageview.c: enabled message search also in MIME mode.
2797 * src/messageview.c: messageview_show(): set header state of
2798 MimeView's TextView, too.
2799 * src/mimeview.c: mimeview_show_message(): call
2800 textview_show_message() to display message.
2801 * src/textview.c: textview_add_part(): new. It adds the content
2802 of message part without clearing the view.
2803 textview_show_message(): display all parts with appropriate
2805 textview_write_body(): separated from textview_show_part().
2810 src/prefs_common.c: added ISO-8859-15 to the codesets for
2811 displaying and sending.
2812 * src/codeconv.c: conv_codeset_strdup(): return NULL if code
2813 conversion failed, and made caller deal with it.
2814 * src/compose.c: compose_write_to_file(): show error dialog when
2815 code conversion failed, and let user select whether to send it
2817 * src/textview.c: textview_write_line(): show the original string
2818 if code conversion failed.
2822 * src/inc.c: get_spool(): fixed a bug that failed to unlock mbox
2823 if copy_mbox() failed (thanks to Alexander Kabaev).
2824 * src/prefs_account.[ch]: added separate user ID / password setting
2826 * src/send.c: send_message_smtp(): use separate user ID / password
2827 for SMTP AUTH if it is specified.
2832 src/pop.[ch]: refactored the UIDL management.
2833 store the information of messages into the array of Pop3MsgInfo
2834 structure, and do full scanning of not retrieved messages.
2840 src/mainwindow.c: set WMCLASS for window/dialog.
2841 * src/codeconv.c: conv_codeset_strdup(): return source string
2842 when jconv_alloc_conv() failed.
2846 * src/mh.c: mh_scan_tree_recursive(): changed the hardcoded directory
2853 src/summaryview.c: implemented the new notebook tab interface for
2855 * src/textview.[ch]: fixed line space related glitches.
2859 * src/prefs_filter.c:
2860 prefs_filter_rename_path()
2861 prefs_filter_delete_path(): fixed a crash when flt->dest was NULL.
2865 * src/recv.[ch]: cancel data receiving if RecvUIFunc returns FALSE.
2866 * src/pop.c: pop3_retr_recv(): fixed false 'No space' when cancelled
2868 * src/inc.c: inc_pop3_recv_func(): abort data receiving when
2869 cancelled, and fixed potential crash bug.
2870 * src/grouplistdialog.c: enabled cancelling of data receiving.
2871 * src/news.c: news_get_group_list(): destroy current session if
2876 * src/manage_window.[ch]: fixed a bug that caused crash when
2877 the main window was hidden.
2878 MANAGE_WINDOW_SIGNALS_CONNECT(): new macro.
2879 Monitor "unmap_event", "destroy" events.
2886 src/grouplistdialog.c
2890 src/message_search.c
2894 src/prefs_customheader.c
2895 src/prefs_display_header.c
2897 src/prefs_template.c
2898 src/summary_search.c
2899 src/summaryview.c: use MANAGE_WINDOW_SIGNALS_CONNECT() macro to
2900 connect signals for window management.
2904 * src/prefs_account.[ch]: added receive size limit option.
2905 * src/pop.c: skip messages larger than the limit size.
2906 LOOKUP_NEXT_MSG(): new macro.
2907 * src/compose.c: compose_attach_append(): check whether the file
2912 * src/rfc2015.c: commented out dump_mimeinfo() and dump_part().
2913 changed g_message()'s to debug_print() and g_warning().
2914 rfc2015_decrypt_message(): fixed a bug that duplicated message
2915 parts when decryption was failed/cancelled. And made some code
2917 * src/passphrase.c: made the dialog transient.
2918 * src/prefs.c: prefs_config_parse_one_line(): removed debug_print().
2923 src/procmsg.[ch]: fixed a bug that failed to parse multipart
2924 messages if GPGME was enabled.
2925 * src/rfc2015.c: commented out copy_gpgmedata_to_temp() which
2927 * src/prefs_account.c: prefs_account_privacy_create(): modified
2928 the vertical spacing.
2932 * src/menu.[ch]: menu_set_sensitive_all(): new.
2933 menu_set_insensitive_all(): made it a wrapper for
2934 menu_set_sensitive_all().
2935 * src/prefs_account.c:
2936 prefs_account_open()
2937 prefs_account_protocol_set_optmenu(): made the protocol type
2938 unchangeable after creating an account.
2939 * src/compose.c: compose_attach_parts(): traverse MIME tree to
2940 extract all attathed files from nested multipart MIME message.
2944 * src/procmsg.[ch]: procmsg_get_mark_sum(): added arguments to
2945 obtain minimum/maximum number, and to specify first number
2948 src/inc.c: enabled new message checking on news folder.
2949 * src/news.c: news_scan_group(): implemented. Guess new/unread
2950 message number from the response of GROUP command and the mark
2952 news_select_group(): return the total/first/last number.
2953 * src/prefs_account.c: prefs_account_receive_create(): modified
2954 the text of the 'Get all' check button.
2958 * src/account.c: made 'Get all' checkbox available for IMAP4 and
2960 * src/inc.c: corrected the argument of folderview_check_new().
2961 * src/prefs_account.c: modification for the "`Get all' checks for
2962 new mail on this account" checkbox.
2966 * src/folderview.[ch]:
2967 folderview_rescan_tree(), folderview_rescan_all(): renamed from
2968 folderview_update_tree() and folderview_update_all().
2969 folderview_update_all_node(): removed.
2970 folderview_check_new(): new. If the argument is NULL, it checks
2971 all local folders. If the arguments is specified, it checks
2972 the (local and remote) folder.
2975 inc_all_account_mail(): check also IMAP4 account.
2980 folderview_rename_folder_cb()
2981 folderview_delete_folder_cb(): modify the filter rules when folder
2983 * src/prefs_filter.[ch]:
2984 prefs_filter_rename_path(): new. It renames the destination paths
2986 prefs_filter_delete_path(): new. It deletes the filter rules if
2987 the destination paths matched.
2988 * thanks to Neill Miller for above.
2992 * src/compose.c: inherit attached files when forwarding or reediting
2993 (rewrote the code in claws branch).
2994 compose_attach_parts(): new. It extracts and attaches the files
2995 in the given message.
2996 compose_attach_append(): chnaged the types of arguments.
2997 * src/messageview.c: messageview_show(): moved the GPG decryption
2999 * src/procmsg.[ch]: procmsg_open_message_decrypted(): new.
3007 * src/summary_search(): summary_search_execute(): scroll the view
3008 when message view is hidden.
3012 * src/foldersel.c: foldersel_set_tree(): made different type of
3013 folders selectable in moving mode.
3014 * src/folderview.[ch]: folderview_update_msg_num(): compare the
3015 numbers with the CTree's labels, and don't update folder_item here.
3016 * src/imap.c: imap_move_msg(), imap_move_msgs_with_dest():
3017 implemented moving between different type of folders.
3018 * src/mh.c: SET_DEST_MSG_FLAGS(): new macro.
3019 mh_do_move(), mh_do_move_msgs_with_dest(): new (renamed previous
3020 mh_move_msg() and mh_move_msgs_with_dest()).
3021 mh_move_msg(), mh_move_msgs_with_dest(): implemented message
3022 moving between different type of folders.
3023 mh_copy_msg(), mh_copy_msgs_with_dest(): some code cleanups.
3024 * src/summaryview.c: summary_status_show(): update folder_item
3026 * po/POTFILES.in: removed reference to headerwindow.c.
3027 * src/summaryview.c: summary_step(): fixed the behavior on the
3028 head and tail of the list.
3032 * src/mainwindow.c: main_window_set_menu_sensitive(): set 'Show
3033 all header' toggle state from the property of the TextView.
3034 * src/summaryview.[ch]: made 'All header' toggle switch.
3035 Prohibited unnecessary menu update.
3036 summary_select_node(): added the argument 'do_refresh'.
3041 * src/utils.c: strsplit_with_quote(): remove quotation characters
3042 in the function (fix composer's external editor problem) (thanks
3043 to Stefaan A Eeckels).
3044 * src/mainwindow.[ch]: made 'Show all header' toggle switch.
3045 main_window_menu_callback_block()
3046 main_window_menu_callback_unblock(): new.
3047 main_window_set_menu_sensitive(): set the toggle status of
3049 show_all_header_cb(): read the status of toggle menu item.
3050 * src/mainwindow.[ch]: made 'Thread view' toggle switch.
3051 * src/prefs_common.c: prefs_keybind_apply_clicked(): removed
3056 * src/imap.c: imap_add_msg(): fixed a bug that didn't replace
3057 the path separator (thanks to Sergey Vlasov).
3058 * src/gtkutils.c: gtkut_editable_get_selection(): return NULL
3059 if the length of selection is zero.
3060 Fixed the assertion.
3061 * src/utils.c: str_open_as_stream(): return immediately if
3062 the length of str is zero.
3063 * src/headerwindow.[ch]: removed.
3065 src/inc.c: removed stale thread support codes.
3069 * src/procmsg.c: procmsg_open_message(): modified so that it
3070 returns the stream of decrypted message file if it exists
3071 (this fixes the failure of gpg decryption in messageview.c).
3081 src/prefs_template.c
3083 src/quote_fmt_parse.y
3085 src/utils.[ch]: if the part of the message text is selected, use
3086 it for quoted text instead of the entire message body (thanks to
3088 src/utils.[ch]: str_open_as_stream(): new. It returns an
3089 temporary stream for the given string.
3090 * src/main.c: added "--send" command line option.
3091 * src/compose.c: compose_reply_set_entry(): add From address to
3092 Cc if Reply-To and to_all are both specified.
3093 * Makefile.am: correct the Source: line in the RPM spec file in
3098 * src/procmsg.c: procmsg_open_message(): fetch message if the cache
3100 * src/foldersel.[ch]: foldersel_folder_sel(): added an argument
3101 that specifies the folder selection type.
3112 src/prefs_customheader.c
3114 src/summaryview.c: made it compile with C compilers other than gcc
3115 (thanks to Shawn Houston).
3119 * src/imap.c: imap_copy_msgs_with_dest(): fixed a bug on traversing
3121 * src/prefs_common.c: made the key binding setting separate dialog.
3122 * src/addressbook.c: addressbook_format_address(): add "" around
3123 the display name if it contains comma (thanks to Satoshi Watanabe).
3124 * src/addr_compl.c: get_complete_address(): add "" around the
3125 display name if it contains comma.
3126 get_address_from_edit(): handle the quotation character correctly.
3127 * src/addr_compl.c: get_complete_address()
3128 src/addressbook.c: addressbook_format_address(): fixed a bug that
3129 caused wrong text processing if the display name is empty.
3134 * src/compose.c: compose_exec_ext_editor_real(): replaced
3135 g_strsplit() with strsplit_with_quote().
3137 src/folderview.c: folderview_drag_motion_cb(): minor code cleanups.
3139 folderview_drag_motion_cb()
3140 folderview_drag_received_cb(): allow dropping into IMAP4 folder.
3141 * src/utils.c: get_file_size_as_crlf(): use fgets() instead of
3145 imap_copy_msgs_with_dest(): use imap_add_msg() if the source
3146 of the message is different from the current mailbox.
3147 Return the correct value.
3148 imap_cmd_append(): properly implemented the APPEND command.
3153 src/messageview.[ch]
3154 src/summaryview.[ch]
3155 src/textview.[ch]: show all headers in the message view, and don't
3156 use the header window anymore.
3158 src/prefs_common.c: changed the default shortcut of 'compose new
3161 src/summaryview.[ch]: summary_display_msg_selected(): new.
3162 Show the selected message if 'Show all header' is selected.
3164 src/sourcewindow.c: changed some procmsg_get_message_file_path()
3165 to procmsg_get_message_file() to be sure the message is
3167 * src/folderview.c: folderview_drag_motion_cb(): allow DnD from
3168 any folder to MH folder.
3169 folderview_drag_received_cb(): copy messages instead of moving
3170 if the source folder is news or IMAP.
3172 src/summaryview.c: allow copy from news folder.
3176 * src/prefs_common.c: prefs_other_create(): modified the design
3177 of the external command settings.
3178 prefs_keybind_apply_clicked(): made the Mew / Wanderlust keybind
3179 preset closer to the original.
3180 Added Mutt keybind preset.
3181 Also change the compose keybinds.
3182 * src/compose.c: modified some menu shortcuts.
3183 * src/codeconv.c: modified the locale_table for Thai encoding.
3187 * src/Makefile.am: added $(GPGME_CFLAGS) to INCLUDES.
3188 * src/prefs_common.c: prefs_interface_create(): modified the
3189 description for menu shortcut.
3193 * src/gtkutils.[ch]: added gtk_stext_clear().
3196 src/summaryview.[ch]: enabled multiple forwarding.
3197 * src/summaryview.c:
3198 summary_set_marks_selected(): set marks for all selected row.
3199 summary_reply(): moved from summary_reply_cb().
3200 * compose.[ch]: compose_forward(): modified so that it receives
3202 * src/mainwindow.c: cleanup for reply processing.
3203 * src/summaryview.c: summary_reply(): fixed a memory leak.
3204 summary_key_pressed(): removed hardcoded mark / mark as unread
3207 src/prefs_common.c: added mark / mark as unread shortcuts to
3212 * src/compose.c: compose_wrap_line_all(): wrap quoted part even
3213 if prefs_common.linewrap_quote is not set (it is only for
3214 auto-wrapping on reply).
3215 * src/prefs_account.c: prefs_account_open(): initialize tmp_ac_prefs
3216 when creating a new account.
3217 * src/mh.c: mh_get_msg_list(): use also st_ctime to detect
3219 * src/prefs_common.c: prefs_interface_create(): modified the
3220 description of key binds selector.
3224 * src/mimeview.c: fixed multiple dialog / moving by correcting
3225 button / key event processing.
3227 src/textview.c: pass some key press events to MimeView in MIME
3229 * src/prefs_filter.c: fixed a bug that didn't set the order of
3231 * src/prefs_common.c: prefs_keybind_apply_clicked(): fixed
3232 empty_menurc string.
3237 src/prefs_common.c: reorganized the menu shortcuts.
3238 Added 'View - Toggle summary view'.
3239 * src/summaryview.[ch]: summary_toggle_view(): made it public
3241 * src/prefs_common.[ch]: swapped the position of 'Shortcut key'
3243 * src/importldif.c: imp_ldif_delete_event(): fixed segfault when
3244 closing the dialog with window manager (in more appropriate way).
3245 * src/imageview.[ch]
3247 src/mimeview.c: fixed wrong scrolling position when switching
3248 between text and image parts. Also free the unrequired image
3249 (thanks to Sergey Vlasov).
3250 * src/prefs_common.c: disabled 'Go to inbox after receiving new mail'
3255 * src/prefs_common.c: implemented shortcut quick changer.
3256 * src/folderview.c: folderview_key_pressed()
3257 src/summaryview.c: summary_key_pressed(): removed some hardcoded
3263 procmime_get_mime_type()
3264 procmime_get_mime_type_table(): made the MIME type search case
3267 gtk_stext_delete_line(): delete newline on empty line.
3268 gtk_stext_delete_to_line_end(): delete newline if cursor is on
3270 (thanks to Yasuzaki Masayoshi.)
3275 src/gtkstext.[ch]: removed the hardcoded shortcuts in GtkSText,
3276 and made them customizable.
3277 * src/utils.[ch]: added get_file_size_as_crlf() which returns
3278 the file size when converting LF to CR+LF.
3282 * src/compose.c: enabled 'Ctrl-Enter' or
3283 'Ctrl-(other modifier keys)-Enter' shortcut that didn't work
3285 * src/gtkstext.c: disabled some Emacs key bindings.
3286 gtk_stext_key_press(): don't extend selection when Shift-Enter
3287 is pressed to prevent the disapperance of cursor.
3288 * src/summaryview.c: summary_select_next_unread(): added the button
3289 to search unread message again from the beginning to the dialog.
3290 * src/folderview.c: folderview_key_pressed(): go to next unread
3291 folder if space key is pressed on the empty folder.
3292 Move CTree focus before selecting row.
3296 * src/defs.h: modified the XLFD of default fonts.
3297 * src/textview.c: textview_create(): fixed a bug that caused
3298 segfault if font couldn't be loaded.
3300 src/grouplistdialog.c: compare subscribed groups with path.
3301 * src/prefs_filter.c: changed 'Operator' to 'Condition'.
3305 * src/compose.c: compose_wrap_line_all(): fixed wrapping crash
3306 when URL is wider than wrapping margin.
3308 src/prefs_filter.[ch]
3309 src/summaryview.[ch]: added "Create filter rule" function based
3310 on the patch from Luca Rosellini.
3311 * src/summaryview.c: summary_filter_open(): added X-List and
3312 X-Mailing-list to the automatically detected headers.
3316 * configure.in: support Mac OS X (Darwin).
3320 * src/prefs_filter.c: use inc_(un)lock() instead of
3321 inc_autocheck_timer_{remove|set}().
3322 * src/summaryview.c: summary_sort(): use gtk_ctree_sort_recursive()
3323 instead of gtk_ctree_sort_node() so that messages within threads
3325 * src/procmsg.c: procmsg_read_mark_file(): fixed a bug that the
3326 target of sizeof was wrong and caused crash on Alpha architecture
3327 (thanks to Motonobu Ichimura).
3332 foldersel_gnode_func(): made the names of special folders
3334 foldersel_set_tree(): move the special folder to the top.
3335 * src/inputdialog.[ch]: input_dialog_query_password(): new.
3339 src/send.c: use input_dialog_query_password() instead of their
3340 own query functions.
3344 * src/defs.h: modified the default font.
3348 src/news.[ch]: moved the class definition and some methods to
3349 the proper location.
3353 * src/mimeview.c: mimeview_save_as()
3354 src/summaryview.c: summary_save_as(): put the default filename
3355 based on the subject.
3356 * src/utils.[ch]: added subst_chars() and subst_for_filename()
3357 which substitute some special characters with underscore.
3358 * src/filesel.c: filesel_select_file(): select the default filename.
3363 INSTALL.jp: added the description and the URL for libjconv.
3364 * src/mainwindow.c: menu entries cleanup.
3370 src/about.c: modified the copyright year.
3371 * src/gtkstext.h: added the notice for modification by the Sylpheed
3377 INSTALL.jp: added the URL for compface.
3385 * src/headerwindow.c
3388 src/sourcewindow.c: set wmclass when creating windows.
3392 * src/compose.c: compose_wrap_line_all(): fixed the bug that
3393 caused infinite loop when wrapping certain patterns of quoted text.
3397 * src/imap.c: imap_parse_envelope(): put the assertion after
3398 imap_parse_address() to prevent segmentation fault.
3403 src/mainwindow.c: modified some labels of menu items.
3404 * src/ldif.c: put the return value of fgetc() in a gint.
3405 * src/importldif.c: don't brace null strings with _().
3406 * src/compose.c: moved the position of Subject entry to the last.
3407 Reorganized the menu.
3408 compose_draft_cb(): added 'keep editing after saving to draft'
3413 * src/mainwindow.c: reorganization of main menu. Removed 'Summary'
3414 menu. Moved 'Help' menu to just the right of 'Configuration'.
3415 Removed 'File - Close' menu item.
3419 * src/mainwindow.c: some menu reorganization.
3420 * AUTHORS: updated. Added more contributors.
3421 * src/account.c: account_row_moved(): new. Moves displayed row to
3422 the appropriate position when up / down button are pressed.
3423 account_clist_set(): move displayed row to the appropriate position.
3425 src/mainwindow.c: set title and wmclass when creating windows.
3429 * src/gtkstext.c: fixed a bug that didn't show block cursor
3430 correctly. Removed unnecessary GdkGC copy. Fixed cursor
3435 src/undo.c: modified to use GtkSText.
3436 * src/menu.h: added #include <gtk/gtkmenu.h>.
3441 configure.in: added XIM checking for GTK+.
3442 * src/gtkstext.[ch]: new. Copied GtkText in GTK+ and renamed.
3446 * src/filter.c: added #include <sys/types.h>.
3450 * src/template.c: template_write_config(): fixed a typo.
3451 * src/compose.c: toolbar_linewrap_cb(): call compose_wrap_line_all().
3453 src/prefs_filter.c: supported regular expression (thanks to
3455 * src/undo.c: undo_paste_clipboard_cb(): fixed a bug that broke
3456 undo state when pasted clipboard was empty.
3457 undo_check_size(): use g_list_last().
3459 undo_redo(): fixed NULL checking and made a bit of optimization.
3461 * src/prefs_common.c: changed the default value of linewrap length
3466 * reorganization of pixmap management.
3467 * src/stock_pixmap.[ch]: new. This module manages all static pixmaps.
3468 * modified every files which directly use pixmaps data to use
3470 * src/undo.[ch]: renamed undo_set_undo_change_funct() to
3471 undo_set_change_state_func(), and changed its argument from
3472 GtkWidget* to gpointer.
3473 undo_merge(): code cleanup.
3474 * src/compose.c: renamed compose_set_undo() to
3475 compose_undo_state_changed().
3479 * src/account.c: account_find_from_address(): made it case
3481 * src/addressbook.c: addressbook_create(): set wmclass.
3482 * src/compose.c: compose_insert_file(): supported DOS/Win/Mac line
3485 src/ldif.[ch]: merged from the claws branch.
3486 * src/importldif.c: removed some warnings.
3487 imp_ldif_field_list_toggle(): fixed button checking.
3488 imp_ldif_dialog_create(): minor layout fix.
3489 * src/ldif.c: removed some warnings.
3491 INSTALL.jp: updated confirmation list.
3494 vcard_test_read_file(): fixed a memory leak of tagtemp.
3495 Some code cleanups (decreasing the indent level).
3498 src/syldap.[ch]: disabled runtime library checking because JPilot
3499 and LDAP libraries are linked on the build time, and the program
3500 doesn't execute without them anyway.
3502 src/addrindex.c: changed "J-Pilot" to "JPilot".
3503 Removed warning for atoi().
3507 * src/procmsg.c: procmsg_empty_trash()
3508 src/mainwindow.c: main_window_empty_trash(): empty trash only if
3509 it contains some messages.
3510 * src/imap.c: search_array_str(): new.
3511 imap_status(): fixed a bug that didn't parse the command response
3516 * merged undo function (by Jens Oberender).
3517 * src/undo.[ch]: new.
3518 undo_insert_text_cb(): fix for multibyte characters (obtain the
3519 number of letters instead of bytes).
3520 * src/compose.[ch]: added the code for undo.
3521 * src/prefs_common.[ch]: added the interface for setting undo level.
3525 * src/compose.c: compose_template_apply()
3526 src/prefs_template.c: prefs_template_clist_set_row()
3527 src/template.c: template_write_config(): don't replace To: and
3528 Subject: entry in composition window if they are empty.
3536 * src/folderview.c: folderview_drag_motion_cb(): fixed a DnD bug.
3537 * src/ldif.c: ldif_get_line(): ignore CR.
3538 * src/mimeview.c: mimeview_show_message(): search also text/html
3539 for first text part.
3543 * src/prefs_account.c: prefs_account_save_config_all(): fixed a bug
3544 that didn't update accountrc if account_list == NULL (thanks to
3549 * src/utils.h: added the macro Xstrcat_a() that concatenates
3550 two strings and return alloca'd string.
3551 * src/imap.c: imap_scan_tree_recursive(): fixed a bug that didn't
3552 handle folder name which includes some spaces correctly
3553 (based on the patch from Willem van Engen (thanks!)).
3554 * src/compose.c: compose_wrap_line_all(): fixed the crash when
3555 wrapping long lines if linewrap quotation is disabled and
3556 a word spanning more than one line.
3560 * applied the Tobias' patch with modification (thanks!).
3562 imap_msg_set_perm_flags()
3563 imap_msg_unset_perm_flags(): new. They set permanent flags to
3566 src/summaryview.c: set flags on IMAP server when flags are changed.
3570 * src/gtkutils.[ch]: gtkut_container_remove(): new. It's a wrapper
3571 of gtk_container_remove() for workaround of a bug in
3572 Gtk{Text,Entry} (thanks to Sergey Vlasov).
3578 src/textview.c: replaced gtk_container_remove() with
3579 gtkut_container_remove(), and removed previous partial fix.
3583 * src/prefs_account.c: prefs_account_apply(): fixed a bug that
3584 checked user ID on "local", but didn't on IMAP4.
3585 * src/imap.c: imap_session_get(): fixed a crash bug when
3586 rfolder->session == NULL.
3587 * Makefile.am: changed the arguments of tar from 'chojf' to
3589 * src/summaryview.c: summary_toggle_view(): disclaim the selection
3590 of textview before removing vpaned.
3594 * src/messageview.c: messageview_change_view_type(): disclaim the
3595 selection before removing textview. This solves the mysterious
3596 copy-paste disability (thanks to Melvin Hadasht).
3597 * src/textview.c: textview_set_font(): use
3598 gtk_editable_claim_selection() instead of
3599 gtk_editable_select_region().
3603 * src/prefs_template.c: prefs_template_window_create(): supported
3604 address completion on the To: entry.
3609 folder_count_total_msgs()
3610 folder_count_total_msgs_func(): use g_node_traverse() to traverse
3615 * src/compose.c: fixed a bug that empty body was refused.
3616 * src/prefs_template.c: fixed a bug that didn't set To: entry
3617 correctly. Display error dialog if format is illegal.
3618 * src/prefs_common.c
3620 src/quote_fmt_parse.y: changed parenthesis "( )" to curly braces
3621 "{ }" to prevent confusion on using parenthesis.
3622 * src/html.c: html_get_parenthesis(): ignore CSS / script stuff.
3626 * src/prefs_template.c: added colon to the header labels.
3631 src/prefs_template.c
3632 src/template.[ch]: added To field to the template.
3636 * src/textview.c: textview_show_part(): use first found
3637 message/rfc822 header.
3638 * src/folderview.c: added "Search messages..." to the context menu.
3639 * src/prefs_common.c: prefs_quote_description_create(): added
3640 description for characters which need to be escaped.
3644 * src/compose.c: compose_wrap_line_all(): more merging from claws.
3645 GET_CHAR(): renamed GET_TEXT() and made it more generic.
3646 Modified compose_wrap_line() and compose_wrap_line_all() to use
3648 * src/textview.c: textview_show_part(): show the header of nested
3649 RFC822 attachment correctly.
3654 src/main.c: added --status option to get new, unread and total
3655 message count from a running Sylpheed (merged from claws).
3656 prohibit_duplicate_launch(): output '\n' only once.
3661 src/gtkutils.[ch]: merged the new wrapping function.
3662 gtkut_text_str_compare_n()
3663 gtkut_text_str_compare()
3664 gtkut_text_is_uri_string(): backport from the GtkSText in the
3665 claws branch, and made modification.
3666 * src/prefs_template.c
3667 src/template.[ch]: added Subject to the template.
3671 * src/compose.c: compose_write_headers(): added missing parenthesis
3672 that generated invalid custom header (thanks to Masaaki Noro).
3673 Allow Sender: custom header.
3677 * src/procheader.c: procheader_date_parse(): workaround for
3678 RFC-incompliant Date header.
3682 * src/addrbook.c: removed redundant functions, and fixed generation
3683 of spurious address book file names.
3684 * src/addrindex.c: V-Card -> vCard.
3688 * src/textview.c: get_email_part(): replaced isalnum() with
3689 the macro IS_ASCII_ALNUM() which restricts the range of
3690 characters to 7bit ASCII (thanks to Shimamoto).
3691 * src/utils.c: remote_tzoffset_sec(): workaround for malformed
3696 * src/textview.c: textview_show_part(): show headers on nested
3701 * src/imap.c: imap_session_get()
3702 src/news.c: news_session_get(): fixed segfault when reconnection
3704 * src/grouplistdialog.c: removed redundant code, and expand nodes
3705 that doesn't match the pattern.
3709 * src/compose.c: modified so that it sends message when any of
3710 To:, Cc:, Bcc:, or Newsgroups: fields have valid recipient.
3711 compose_check_for_valid_recipient(): new.
3712 * src/grouplistdialog.c: improved the UI.
3713 Added appropriate description and search button.
3714 Search doesn't get group list again.
3718 * src/news.[ch]: news_session_get(): update the last access time
3720 news_group_list_free(): new.
3721 * src/grouplistdialog.c: free resources correctly.
3726 src/grouplistdialog.[ch]: more merging of new newsgroup
3727 subscription dialog.
3728 * src/news.[ch]: renamed news_remove_group_list() to
3729 news_remove_group_list_cache().
3733 * src/defs.h: added MAX_ENTRY_LENGTH definition.
3734 * src/compose.c: compose_add_entry_field(): create new entry with
3739 * src/grouplistdialog.c: made non-leaf node selectable.
3740 Give the complete newsgroup name for each nodes.
3744 * src/grouplistdialog.c
3745 src/news.[ch]: merging of new newsgroup subscription dialog
3746 (still in progress. Don't use it yet!).
3750 * src/utils.[ch]: decode_uri(): new. It decodes URL-encoded strings.
3751 * src/compose.[ch]: compose_new_with_recipient(): accept mailto
3753 compose_entries_set(): new. It parses mailto URL and put each
3754 values into the entries.
3758 * src/compose.c: compose_forward(): fixed a bug that forward
3759 quote mark wasn't used (thanks to Hironori IWANE).
3762 src/prefs_common.c: added Thai encodings (thanks to Manrat
3767 * src/socket.c: sock_connect_by_hostname(): removed h_errno.
3771 src/news.c: added last_access_time to Session.
3772 imap_session_get(): check connection only when access interval
3781 * src/socket.c: ssl_gets(): use SSL_peek.
3782 * updated NEWS and AUTHORS.
3783 * Makefile.am: fixed release target.
3787 * src/template.c: changed the format of template file to
3789 * src/compose.c: compose_template_apply(): freeze the text widget
3790 while inserting strings.
3794 * po/POTFILES.in: removed src/template_select.c.
3795 * src/summaryview.c: summary_set_header()
3796 src/address.c: address_parse_str()
3797 src/filter.c: filter_read_str()
3798 src/news.c: news_parse_xover()
3799 src/procheader.c: procheader_get_fromname()
3800 src/utils.c: subject_compare():
3801 replaced Xalloca() + strcpy() with Xstrdup_a().
3802 * src/inputdialog.[ch]: added combo mode.
3803 input_dialog_combo(): new.
3804 * src/prefs_common.[ch]: added MIME open command setting.
3805 prefs_common_{read, save}_config(): read / write command history.
3806 * src/mimeview.c: mimeview_open_with(): use combo input dialog.
3807 * src/utils.[ch]: add_history(): history list management function.
3811 * src/compose.c: select templates from the menu.
3812 compose_set_template_menu(): new.
3813 compose_reflect_prefs_all(): new.
3814 compose_template_apply(): new. Use dummy MsgInfo for parsing.
3815 * src/template.[ch]: store template list to the static heap.
3816 template_get_config(): new.
3817 template_set_config(): new.
3818 * src/prefs_template.c: don't store template list to the global area.
3819 * src/template_select.[ch]: removed.
3820 * src/quote_fmt_parse.y: check folderitem when quoting messages.
3821 * src/mh.c: mh_add_msg(): try to copy file whenever link() failed
3822 (thanks to OSHIRO Naoki).
3826 * src/utils.[ch]: get_template_dir(): new.
3827 * src/template.c: use get_template_dir().
3831 * src/prefs_template.c: modified the dialog layout.
3832 Added symbol description button.
3833 * src/summaryview.c: show an arrow mark to the column of the sort
3835 summary_set_column_titles(): new.
3841 TODO.jp: updated the documents.
3845 * src/Makefile.am: add missing checkbox_{on, off}.xpm.
3846 * src/textview.c: textview_key_pressed()
3847 src/mimeview.c: mimeview_key_pressed()
3848 src/summaryview.c: summary_key_pressed(): delete messages with
3853 * src/socket.c: ssl_gets(): fixed a bug that caused infinite loop
3854 when SSL_read() returned 0.
3855 * src/utils.[ch]: strcrchomp(): new. It removes CR from the tail
3857 * src/quote_fmt_parse.y: convert CRLF to LF when inserting messages.
3858 Add prototype of yylex() to suppress the warning.
3859 * merged the template function.
3860 * src/prefs_template.[ch]
3862 src/template_select.[ch]: new.
3863 Renamed prefs_templates_* -> prefs_template_*.
3864 * src/compose.c: added template menu. Added replyinfo to Compose.
3865 * src/mainwindow.c: added template setting menu.
3866 * src/quote_fmt_lex.l: output literal tab and return as is.
3867 * src/prefs_common.c: changed the pref. name of quote format to
3868 'reply_quote_{mark, format}' and 'fw_quote_{mark, format}'.
3872 * src/prefs_common.[ch]: added Quote tab, and moved the quote
3873 setting from Compose tab.
3874 * merged the new quote format parser.
3875 * src/quote_fmt_lex.h
3878 src/quote_fmt_parse.y: new files for quote format parser.
3879 * configure.in: added checks for lex and yacc.
3880 * src/compose.c: compose_quote_file(), compose_quote_parse_fmt():
3882 compose_quote_fmt(): new.
3883 * src/prefs_common.[ch]: added forward format setting to the
3884 Quote tab. Updated the quote description dialog.
3885 * src/quote_fmt_parse.y: fixed bugs that tried to read file even
3886 if they couldn't get text part.
3890 * src/pixmaps/checkbox_off.xpm
3891 src/pixmaps/checkbox_on.xpm: new.
3892 * src/account.c: display `get all' status with the checkbox pixmaps.
3896 * src/send.c: code cleanup. Pass account prefs structure instead
3898 Query password for SMTP AUTH if not specified (thanks to Mio).
3902 * src/procheader.c: procheader_parse(): fixed a bug that didn't
3903 parse multiple message-id in In-Reply-To: header correctly
3904 (thanks to KAJIWARA).
3908 * src/account.c: enabled 'Get all' setting by clicking the 'G'
3909 column of account list, and added some description.
3910 * src/prefs_common.c: prefs_send_create(): added a description
3911 for outgoing codeset.
3915 * src/prefs_account.[ch]: moved inbox entry to the receive tab,
3916 and added select button and short description.
3917 * src/Makefile.am: added SYSCONFDIR to CPPFLAGS.
3919 procmime_get_mime_type_table()
3920 procmime_get_mime_type_list(): modified so that
3921 $(SYSCONFDIR)/mime.types (or /etc/mime.types if not found) and
3922 $(HOME)/.sylpheed/mime.types are read.
3926 * src/prefs_account.c: moved the address auto-setting to the compose
3928 prefs_account_create(): removed gtk_widget_show_all() for proper
3930 * src/prefs_common.c: changed "Program path" to "Command".
3934 * src/textview.c: textview_set_font(): support Russian charset
3936 * src/summaryview.c: summary_delete(): (hopefully) fixed the crash
3940 prefs_summary_column.c: minor improvements to the English.
3941 * src/main.c: get_queued_message_num(): don't output the warning
3942 when queueing folder is not found.
3950 * src/prefs_summary_column.[ch]:
3951 made prefs_summary_column_get_config() public.
3952 * src/summaryview.c: summary_ctree_create(): some code cleanup.
3953 * configure.in: moved the position of SSL checking after LDAP
3954 for linking problem.
3959 src/summaryview.c: allowed reedit in the outbox.
3960 * src/prefs_summary_column.[ch]: new. UI for setting summary
3962 * src/mainwindow.[ch]: main_window_set_summary_column(): new.
3963 It calls summary_set_column_order().
3964 * src/summaryview.[ch]:
3965 summary_ctree_create(): new. separated from summary_create().
3966 summary_set_column_order(): new. It destroys the current
3967 CTree and replaces it with the new one.
3971 * src/smtp.[ch]: smtp_from(): abort if auth failed.
3972 * changed C++-style comments into C-style in some files, and
3973 removed unnecessary commented out codes.
3974 * src/addrcache.[ch]
3978 src/syldap.[ch]: updated the addressbook code, and fixed the
3981 src/importldif.[ch]: new.
3985 * src/about.c: added some items to compiled-in features.
3986 * src/addr_compl.c: changed LOG_MESSAGE to debug_print.
3987 * src/addressbook.c: changed "V-Card" to "vCard".
3988 addressbook_edit_address_cb(): added
3989 invalidate_address_completion() to the point address is changed.
3990 * src/codeconv.c: changed C++-style comments into C-style.
3994 * src/compose.c: changed "Send" shortcut to Ctrl+Enter.
3998 * src/inc.c: fixed a bug that crashed sylpheed if Cancel button
4003 * src/procmsg.c: procmsg_get_thread_tree(): complete the unfinished
4005 * src/summaryview.c:
4006 summary_thread_init(): separated from summary_thread_build().
4007 summary_thread_build(): removed the codes for initialization.
4008 summary_set_ctree_from_list(): call summary_thread_init() instead
4009 of summary_thread_build().
4010 summary_filter(): fixed a bug that didn't moved messages despite
4011 of immediate execution setting.
4015 * src/procmsg.c: procmsg_get_thread_tree(): new. It generates the
4016 reversed thread tree from message list.
4017 * src/summaryview.c: summary_set_ctree_from_list(): prepend the
4018 node to the head instead of appending to the tail. This prevents
4019 the traverse of node list inside of the GtkCTree, and considerably
4020 speeds up the summary display (the order is O(n^2) -> O(n)).
4024 * src/prefs_common.c
4025 src/summaryview.[ch]: initial modification for reorderable columns.
4029 * src/procmsg.c: procmsg_get_mark_sum(), mark_sum_func(): fixed a
4031 * src/folderview.c: folderview_button_pressed(): code cleanup, and
4032 turn sensitivity off if main window is locked.
4033 * src/syldap.c: syldap_read_data(): removed unnecessary and
4034 unportable sched_yield().
4038 * src/folderview.c: renamed "Update folder tree" context menu to
4039 "Rescan folder tree", and made "Update folder tree" only updates
4041 folderview_update_all_node(): don't show message dialog.
4042 * src/gtkutils.c: gtkut_widget_get_uposition()
4043 src/mainwindow.c: main_window_popup(): clip the coordinate to
4048 * src/utils.c: to_human_readable(): made a bit of optimization.
4049 * src/summaryview.c: summary_delete(): fixed a focus problem.
4050 summary_find_{prev,next}_msg(): new. They find previous/next
4051 message that is not deleted.
4052 * src/prefs_filter.c: scroll CList automatically if moved row
4053 becomes not fully visible.
4057 * updated some autotool scripts.
4058 * src/codeconv.c: conv_encode_header(): fixed a bug that caused
4059 infinite loop when failed to convert encoding.
4060 * src/codeconv.[ch]: a fix for older version of libjconv
4061 (jconv_info_get_current_codeset() returned "EUCJP" instead of
4070 * src/compose.c: compose_write_to_file()
4071 src/codeconv.c: conv_codeset_strdup(): more workaround for
4072 libjconv problem on C locale.
4073 * src/editldap_basedn.c: fixed segfault when opening dialog.
4074 * src/utils.c: is_next_mbs()
4075 src/compose.c: compose_wrap_line(), compose_wrap_line_all():
4076 changed MB_CUR_MAX to MB_LEN_MAX for compliance to ANSI C.
4077 * configure.in: increased the reqired version of GPGME to 0.2.3.
4078 * src/pop.c: pop3_getauth_user_recv(): fixed a bug that closed
4079 the receive dialog when POP3 server refused normal authentication.
4083 * src/prefs_common.c: prefs_receive_create(): correction to English.
4084 * src/compose.c: compose_set_ext_editor_sensitive(): fixed a bug
4085 that didn't set the menu sensitivity correctly (thanks to
4087 * src/summaryview.c: delete messages permanently if the current
4088 folder is trash and 'delete' operation is executed.
4089 Fixed the bug that didn't select the last row correctly (thanks
4090 to Alfons Hoogervorst).
4091 * src/folder.[ch]: folder_item_remove_msgs(): new. It removes
4092 all messages given in the list.
4096 * src/summaryview.c: summary_show(): fixed a bug that didn't show
4097 message even if the 'open unread message on entering folder'
4098 option was turned on.
4102 * src/procmime.c: procmime_get_text_content(): supported HTML.
4106 * src/summaryview.[ch]: implemented new locking mechanism, and
4107 replaced every static locks with summary_lock(), summary_unlock(),
4108 and added locks to some extra functions.
4109 This fixes a bug that caused segfault when 'd' (delete) key
4114 * src/addressbook.c: addressbook_folder_load_person(): fixed a bug
4115 that caused segfault (thanks to Stefaan A Eeckels).
4119 * src/textview.[ch]: added textview_set_position().
4120 * src/messageview.[ch]: added messageview_set_position().
4132 src/editldap_basedn.c
4137 src/vcard.c: converted C++-style comments into C-style one.
4138 * src/imap.c: QUOTE_IF_REQUIRED(): new macro. Copy string into
4139 new buffer and quote with double quotes if required.
4140 imap_status(), imap_cmd_login(), imap_cmd_list(),
4141 imap_cmd_do_select(), imap_cmd_create(), imap_cmd_delete(),
4142 imap_cmd_copy(): use QUOTE_IF_REQUIRED().
4143 * compose.c: compose_write_to_file(): workaround for the problem
4144 when using libjconv and 8bit codes cannot be converted on C
4146 * codeconv.[ch]: added "ANSI_X3.4-1968" to encoding strings.
4147 conv_codeset_strdup(): don't convert if source and destination
4148 codeset are identical.
4152 * src/textview.[ch]: textview_search_string_backward(): new.
4153 Add the new member cur_pos to TextView.
4154 Connect button_press_event with gtk_signal_connect_after() to
4155 obtain the correct editable position.
4159 * src/folder.c: folder_write_list_recursive(): preserve unthreaded
4164 * src/summaryview.c: modified the layout of popup menu.
4171 src/summaryview.c: applied the patch from Alfons that allows
4172 threading setting for each folders (tnanks!).
4176 * src/message_search.[ch]: new. A Dialog for searching in current
4178 * src/gtkutils.[ch]: gtkut_text_match_string(): new. Compare the
4179 text in current position of GtkText and given wide-character
4181 * src/messageview.[ch]: messageview_search_string()
4182 src/textview.[ch]: textview_search_string(): return TRUE if
4184 * src/textview.[ch]: remember the beginning of body.
4188 * src/procmime.c: procmime_get_first_text_content(): modified so
4189 that it search entire MIME structure.
4190 * src/summary_search.c: summary_search_execute(): use
4191 strdup_mbstowcs() instead of macro. Display matched message.
4195 * src/inc.c: fix for background POP3 hangs and crashes (thanks to
4197 * src/summary_search.c: added body searching function.
4198 * src/procmime.[ch]: procmime_find_string(): changed arguments
4199 and return value. Added case sensitivity option.
4203 * src/procmime.[ch]:
4204 procmime_find_string()
4205 procmime_find_string_part(): new. It searchs the string from
4207 Renamed procmime_get_text_part() to
4208 procmime_get_first_text_content().
4209 procmime_get_text_content(): new. It returns the text contents
4210 of the specified MIME part.
4211 procmime_mimeinfo_next(): new. It returns the next node of
4216 * src/procmime.c: procmime_get_text_part(): modified so that it
4217 finds a text part in nested multipart message correctly.
4218 * src/procmime.h: added an example of MimeInfo structure.
4219 * src/mimeview.c: mimeview_show_message(): search the first text
4224 * src/mainwindow.c: ac_menu_popup_closed(): fixed the bug that
4225 caused segfault. Changed 'Preferences per account...' menu item.
4233 * src/addrindex.c: translate the "Common address" and "Personal
4234 address" from old addressbook.
4238 * src/utils.c: get_quote_level(): some optimization and bugfixes.
4239 * src/codeconv.[ch]: conv_get_current_locale(): new.
4240 * src/editaddress.c: edit_person_page_basic(): reverse the order
4241 of first and last name on some locales.
4245 * src/compose.c: applied the patch from Yasumatsu that reformats
4246 the current paragraph (thanks!). Modified so that it doesn't
4247 reformat quoted paragraphs.
4248 compose_create(): don't fill the entry automatically on reedit
4251 src/summaryview.[ch]: added the "Mark all read" option.
4252 summary_mark_all_read(): new.
4260 src/editldap_basedn.c
4262 src/editjpilot.c: removed all warnings.
4264 src/jpilot.[ch]: fixed the problem that failed to detect JPilot
4265 header files on the Debian system.
4267 src/summaryview.[ch]: enabled sorting by mark, unread, attachment,
4268 and color label. Enabled moving to next/prev flagged messages.
4272 * src/pixmaps/dir-close.xpm
4273 src/pixmaps/dir-open.xpm
4275 src/pixmaps/unread.xpm: modified the color balance.
4276 * src/utils.[ch]: execute_sync(): new.
4277 execute_command_line(): added the arg for async mode.
4278 * src/inc.c: inc_mail(): use execute_command_line().
4283 src/prefs_common.[ch]
4284 src/prefs_account.c: modified the layout. Added the option to
4285 launch the external editor automatically.
4286 * src/compose.c: launch the external editor automatically if the
4291 * src/Makefile.am: added extra xpm's.
4295 * src/addressbook.c: fixed a compilation problem when enabling
4297 addressbook_open(): fixed a missing 'else'.
4301 * src/pixmaps/dir-close.xpm
4302 src/pixmaps/dir-open.xpm
4303 src/pixmaps/trash.xpm: replaced with the new blue icons.
4304 * merged Match Grun's new addressbook code.
4305 * src/pixmaps/address.xpm
4306 src/pixmaps/book.xpm
4307 src/pixmaps/category.xpm
4308 src/pixmaps/interface.xpm
4309 src/pixmaps/jpilot.xpm
4310 src/pixmaps/ldap.xpm
4311 src/pixmaps/vcard.xpm: new icons.
4315 src/addressitem.[ch]
4318 src/editaddress.[ch]
4323 src/editldap_basedn.[ch]
4328 src/vcard.[ch]: new. Many fixes to remove the huge amount of
4330 addrbook_build_avail_email_vis(): fixed a memory leak.
4334 * NEWS: brought in the all of the changes previously put on the web.
4339 src/summaryview.c: modified the layout of menus.
4340 * src/mainwindow.c: ac_menu_popup_closed(): fixed a bug that didn't
4341 return a focus to the main window after selecting the account menu.
4349 * src/send.c: send_message_data(): fixed a bug that didn't process
4350 body part correctly.
4354 * src/inc.[ch]: changed inc_autocheck_(un)lock() to inc_(un)lock().
4355 inc_mail(), inc_all_account_mail(): return immediately if locked.
4358 src/prefs_account.c: use inc_lock() and inc_unlock() instead of
4359 inc_autocheck_timer_{remove,set}().
4360 * src/summaryview.c: summary_set_colorlabel_color(): get the average
4361 of label color and selected fg color for visibility.
4365 * src/inc.[ch]: inc_autocheck_lock(), inc_autocheck_unlock(): new.
4366 They increase/decrease the lock count.
4367 inc_autocheck_func(): if locked, delay the autochecking 1 second.
4368 inc_autocheck_timer_set_interval(): set interval by its argument.
4369 * src/summaryview.c: summary_show(): lock the autochecking while
4371 * src/main.c: app_will_exit(): remove autocheck timer.
4373 src/defs.h: removed the definitions of PACKAGE and VERSION to
4374 prevent unnecessary compilation.
4375 * configure.in: changed AC_DEFINE_UNQUOTED of PACKAGE and VERSION
4376 to AC_SUBST, and added src/version.h to AC_OUTPUT.
4377 * src/version.h.in: new.
4378 * src/intl.h: changed dgettext() to gettext().
4382 * po/ja.po: fixed a typo that crashed Sylpheed with older version
4384 * configure.in: fixed a bug that didn't show results correctly.
4385 Fixed a bug that --enable-compface and --enable-jconv disabled
4387 * src/procmsg.c: procmsg_send_queue(): don't abort when sending
4389 * src/compose.c: compose_write_headers(): add Bcc: header to the
4391 * src/send.c: send_message_data(): new. Separated from
4392 send_message_smtp(). Remove Bcc: header before sending.
4400 * src/send.c: implemented sending with local sendmail command.
4401 send_message_local(): new. It executes command with popen()
4402 and send the contents of RFC822 message to the command.
4403 * src/prefs_common.[ch]: enabled the external sending command option.
4404 * src/defs.h: #define DEFAULT_SENDMAIL_CMD /usr/sbin/sendmail -t
4405 * src/account.c: account_edit_create(): widened the protocol column.
4406 * src/summaryview.c: summary_set_colorlabel_color(): cleanup of
4411 * src/folder.c: folder_item_remove_msg(): scan the folder again
4412 if the last message is removed.
4413 * src/compose.c: compose_queue(), compose_draft_cb(): remove the
4414 old reedited message after adding the new message.
4418 * src/compose.c: compose_queue(): added AID: to the queueing header.
4419 * src/send.c: send_message_queue(): look for AID: header, and use
4420 the server specified in the account instead of SSV: header.
4422 src/compose.[ch]: queued messages can be reedited now.
4423 compose_remove_reedit_target(): new. It removes the old reedited
4425 compose_send(), compose_queue(), compose_draft_cb(): if reedit
4426 mode, remove the old message.
4427 * src/procmsg.c: procmsg_msg_exist(): fixed a bug that output
4432 * applied the XML string table patch from Alfons Hoogervorst that
4433 stores strings in a hash table and minimizes memory allocations
4435 * src/stringtable.[ch]: new.
4436 removed all G and g_ prefix from type and function names since
4437 they're not official GLib symbol names.
4438 string_table_insert_string(): fixed a bug that might refer to an
4439 invalid pointer on lookup, and also made a bit of optimization.
4443 * merged the color label feature from the claws branch (thanks to
4444 Satoshi Nagayasu and Alfons Hoogervoost).
4445 * src/colorlabel.[ch]: new. Renamed from labelcolors.[ch].
4446 Renamed labelcolors_*() to colorlabel_*().
4447 * src/summaryview.[ch]: added color label support.
4448 * src/procmsg.h: added color label flags to the permanent flags.
4449 * updated to gettext 0.10.39.
4450 * src/summaryview.[ch]: put the color label menu item to ItemFactory.
4451 * sylpheed.desktop: added for GNOME.
4452 * configure.in: added AC_MSG_CHECKING() for some options.
4453 Output the configuration results when configure is finished.
4457 * src/account.c: account_clist_set_row(): fixed a bug that failed
4458 to compile if SSL was not enabled.
4462 * merged the SSL support from the claws branch (thanks to Christoph
4464 * src/ssl.[ch]: new.
4465 * src/socket.[ch]: added ssl_read(), ssl_write(), ssl_gets(), and
4467 sock_close(): call ssl_done_socket() if SSL is active.
4468 * src/md5.[ch]: removed MD5_CTX typedef and use MD5_CONTEXT to
4469 prevent type confliction.
4470 * src/prefs_account.[ch]: added SSL tab, and modified the expression.
4471 * src/esmtp.[ch]: added esmtp_ehlo(), and esmtp_starttls().
4472 Removed SSL initialization and HELO from esmtp_starttls().
4473 esmtp_auth(): removed use_smtp_auth from its arguments.
4474 * src/send.c: send_smtp_open(): added SSL support.
4475 * src/smtp.c: smtp_helo(): call esmtp_ehlo() if esmtp is true.
4479 * src/mimeview.c: mimeview_open_with(): braced '%s' with single
4484 * src/main.c: open new account dialog if no account is set.
4485 * src/utils.[ch]: log_verbosity_set(): new. It increase/decrease
4486 the verbosity count.
4487 log_print(): put to statusbar only if log_verbosity_count > 0.
4488 log_message(): put to statusbar.
4489 * src/inc.c: inc_pop3_session_do(): set log verbosity.
4490 * src/mainwindow.c: main_window_set_menu_sensitive(): added the
4491 "Compose new message" item.
4492 main_window_show_cur_account(): removed "Current account: " string.
4493 * src/summaryview.c: summary_show(): ignore the current marks if
4494 main window is locked.
4495 * src/compose.c: compose_attach_property(): fixed a bug that caused
4500 * src/mainwindow.c: main_window_get_current_state(): new. It returns
4501 the current state for the sensitivity of UI.
4502 main_window_set_toolbar_sensitive(): use table like
4503 main_window_set_menu_sensitive().
4507 * src/mainwindow.[ch]: added progressbar and status label to the
4509 main_window_close_cb(): don't exit if locked.
4510 * src/inc.c: update the progressbar of main window, too.
4514 * src/mainwindow.[ch]: main_window_set_toolbar_sensitive(): removed
4515 the second argument, and determine the sensitivity with the
4516 state of summary view.
4520 * src/pop.c: pop3_getsize_list_recv(), pop3_retr_recv(),
4521 pop3_delete_recv(): don't try to receive messages which are not
4526 * src/mainwindow.c: main_window_lock(), main_window_unlock():
4527 removed the whole menubar locking.
4528 main_window_set_menu_sensitive(): process the sensitivity change
4529 with a table, and deal with locking.
4533 * src/summaryview.[ch]: summary_get_selection_type(): new.
4534 It returns the current selection state of summary view.
4535 summary_key_pressed(): abort on some commands if main window
4537 * src/mainwindow.[ch]: main_window_lock(), main_window_unlock():
4538 increase/decrease the lock count.
4542 * src/prefs_filter.c: prefs_filter_create(): added List-Id to the
4543 default header list.
4544 * src/prefs_common.[ch]: added the option for receive dialog mode
4545 to the Interface tab.
4546 * src/inc.[ch]: inc_progress_dialog_create(): don't make the dialog
4547 transient, and show dialog only if the setting is
4548 RECV_DIALOG_ALWAYS, or RECV_DIALOG_ACTIVE and a window is active.
4549 * src/mainwindow.[ch]: main_window_lock(), main_window_unlock():
4550 new. Lock / unlock the user-interface.
4551 * src/progressdialog.c: progress_dialog_create(): don't make the
4556 * src/folderview.c: folderview_update_node(): suppressed unnecessary
4558 * src/menu.[ch]: menu_button_position(): new. It calculates the
4559 position of popup menu.
4560 * src/mainwindow.c: toolbar_account_button_pressed(),
4561 ac_label_button_pressed(): put the popup menu to the correct