3 * src/prefs_common.[ch]: changed the description of "Open message when
4 cursor keys are pressed on summary".
5 * src/summaryview.c: summary_show(): open message when always_show_msg
10 * src/logwindow.[ch]: restrict the maximum lines of the log messages
11 to reduce the memory usage.
15 * src/compose.c: compose_insert_sig(): fixed a crash when signature
16 string contains illegal sequence.
17 * src/utils.[ch]: changed get_wcs_len() to get_mbs_len() for accuracy.
21 * major refactoring of MIME structure.
22 * src/procmime.c: procmime_scan_message(): decrypt message if
23 gpgme is enabled. Create multipart tree only if content-type is
24 multipart/* or message/rfc822.
25 procmime_scan_multipart_message(): fixed the scanning of
27 * src/action.c: parse_append_msgpart()
28 src/messageview.c: messageview_show()
29 src/mimeview.c: mimeview_show_message(): use procmime_scan_message()
30 instead of procmsg_open_message() and procmime_scan_mime_header().
31 mimeview_set_multipart_tree(): conform to the new MIME structure.
32 * src/textview.c: textview_show_part(): removed unnecessary check.
33 * src/procmsg.c: procmsg_open_message_decrypted(): fixed the file
34 pointer when decryption failed.
38 * src/ssl.c: ssl_init_socket_with_method(): replaced log_warning()
39 by g_warning(), and log_print() by debug_print().
40 * src/pop.[ch]: added an error code PS_NOTSUPPORTED, and retry with
41 LAST if UIDL is not supported.
45 * src/codeconv.c: conv_get_code_conv_func(): convert to EUC-JP only
46 if it is the current locale encoding when dest_charset_str is NULL.
50 * src/action.c: execute_actions(): fixed crash when no text widget
51 is selected (thanks to Paul and Melvin).
53 src/prefs_actions.c: added missing reference to Claws team in the
60 session_send_data(): fixed a memory leak and data sending bug.
62 send_message_smtp(): fixed focus management.
66 * src/smtp.[ch]: set the response string to SMTPSession::error_msg
68 * src/send_message.c: show error dialog if error occurred.
69 * src/main.c: send_queue()
70 src/mainwindow.c: send_queue_cb(): don't show error dialog here.
74 * src/session.c: session_close(): kill child process only if
75 state is not SESSION_DISCONNECTED.
76 * src/send_message.c: send_cancel_button_cb()
77 src/inc.c: inc_cancel(): don't set Session::state to
79 * src/prefs.[ch]: modified the names of prefs_write_*().
80 * src/address.[ch]: removed.
84 * src/compose.c: compose_template_apply(): overwrite recipients.
88 * src/procheader.c: procheader_date_parse(): removed debug print.
89 * src/session.c: changed every g_print to debug_print.
90 session_child_input(): removed unrequired session_close() (it'll
91 be closed anyway after returning FALSE).
92 * src/send_message.c: send_message_smtp(): changed g_print to
97 * src/procheader.c: procheader_procheader_date_parse(): don't add
98 local timezone offset if timezone is unknown.
99 Made the Y2K workaround code to follow RFC 2822.
100 procheader_scan_date_string(): workaround for date strings which
101 don't have timezone specification.
102 * src/utils.c: remote_tzoffset_sec(): return -1 if timezone is
107 * src/action.[ch]: refactored. Also fixed a bug on MIME mode, and
108 some memory leaks on error.
109 action_update_msgview_menu(): new.
110 * src/messageview.[ch]: added "Tools/Actions" menu. Keep window list.
111 messageview_get_selected_mime_part(): returns MimeInfo of selected
112 part when MessageView is in MIME mode.
113 * src/mimeview.[ch]: mimeview_get_selected_part(): returns MimeInfo
115 * src/summaryview.[ch]: summary_get_selected_msg_list(): returns
116 MsgInfo list of selected messages.
120 * src/prefs_filter.[ch]: include original message's headers as
121 the preset keywords. Modified the sizes of the widgets.
122 * src/utils.[ch]: added str_case_equal() and str_case_hash() for
123 case-insensitive hash.
127 * src/procmsg.c: procmsg_get_filter_keyword(): added X-Sequence to
128 auto-detected headers.
132 src/mainwindow.c: modified function names.
133 get_user_string(): Use input_dialog() instead of its own
138 * src/codeconv.[ch]: conv_encode_header(): don't include '(' and ')'
139 in encoded strings if addr_field is TRUE.
140 * src/compose.c: compose_convert_header(): added a flag 'addr_field'.
144 * src/prefs_actions.[ch]: separated action execution routine into
149 * src/prefs_actions.c: minor code cleanup.
153 * src/codeconv.[ch]: conv_iconv_strdup(): fixed the handling of
159 inc_recv_data_progressive()
160 inc_recv_data_finished()
163 send_send_data_progressive()
164 send_send_data_finished(): added assertion.
168 * src/codeconv.[ch]: conv_iconv_strdup(): fixed potential memory
173 * src/codeconv.[ch]: conv_iconv_strdup(): don't include nul character
174 in source buffer since it messed up some encoding conversion (like
179 * src/procmsg.c: procmsg_get_filter_keyword(): unfold headers and
180 extract ID from List-Id header.
181 * src/utils.[ch]: extract_one_parenthesis_with_skip_quote(): removed.
182 extract_list_id_str(): extract ID string from List-Id header.
186 * src/prefs_actions.c: merged from the claws branch. Fixes several
187 bugs and adds some features.
191 * src/compose.c: compose_parse_header(): fixed a bug that unnecessary
192 linebreaks were included on reediting.
194 src/pop.c: fixed typos: 'occured'.
198 * src/compose.[ch]: implemented auto signature replacement on
200 compose_insert_sig(): added a flag to replace current signature.
201 compose_get_signature_str(): new. It returns signature string.
202 compose_insert_command_output(): removed.
203 compose_select_account(): call compose_insert_sig() on account
205 compose_destroy(): fixed a memory leak of UndoMain object.
206 Compose::sig_str: new. It stores current signature string.
207 * src/gtkutils.[ch]: gtkut_stext_find(): new.
208 Renamed gtk_stext_clear() to gtkut_stext_clear().
209 * src/utils.[ch]: get_wcs_len(): returns wide-character length of
211 normalize_newlines(): converts CR+LF and CR into LF.
212 get_command_output(): returns command output.
216 * src/procmsg.[ch]: procmsg_get_filter_keyword(): new. It returns
217 filter keyword for messages.
218 * src/summaryview.c: summary_filter_open(): use
219 procmsg_get_filter_keyword().
220 * src/messageview.c: create_filter_cb(): implemented.
226 inc_put_error(): display server responses on error.
227 * src/pop.[ch]: added Pop3Session::error_msg, and set server responses
232 * src/messageview.[ch]: separated the forced charset of message view
233 in separate window from the main window.
235 textview_show_message()
237 textview_add_part(): use MessageView::forced_charset if specified.
241 * src/mainwindow.c: modified File menu a bit.
242 * src/menu.[ch]: added functions to handle item factory rc strings.
243 * src/messageview.[ch]: added a menu, and made it take over main
244 window's menu shortcuts.
245 added msginfo which is duplicated on display to MessageView.
246 * src/prefs_common.c: prefs_keybind_apply_clicked(): use
247 menu_factory_clear_rc().
251 * send_message.c: send_message_smtp():
252 re-enabled forcing of SMTP AUTH method.
253 Clear temporary password if authentication failed.
254 * smtp.c: output warning to log and set SMTPSession::error_val
256 * smtp.h: changed error value to enum. Added SMTPSession::error_val.
257 * src/mbox.c: proc_mbox(): force updating of folder.
261 * src/pop.h: changed error value to enum.
262 * src/pop.c: pop3_retr_recv(): return PS_IOERR when inc_drop_message()
264 pop3_ok(): return appropriate error value based on current state.
265 Output warning to log if error occurs.
270 src/news.[ch]: refactored. Remove NNTPSockInfo and use NNTPSession
275 * src/inc.c: inc_pop3_session_do(): retrun appropriate error if
276 Session::state == SESSION_ERROR.
277 * po/POTFILES.in: removed src/automaton.c and src/send.c.
278 Added src/send_message.c.
283 src/session.c: fixed breakage of POP3 retrieval.
284 session_recv_data_from_sock_unescape(): read until terminator
285 appears and also return the actual size.
289 * src/automaton.[ch]: removed.
290 * src/session.c: removed some of the debug output.
291 * src/smtp.c: smtp_session_recv_msg(): workaround in case server
292 returns EHLO-style response to HELO command.
293 Ignore all multiline responses except for EHLO since they are
294 allowed for any command.
299 src/pop.c: fixed retrieval of messages which contain dot-escaped
301 session_recv_data(): added a flag for unescape.
302 session_recv_data_from_sock_unescape(): new. It receives message
303 for each line and unescapes dot-escaped lines.
304 Removed the previous workaround.
305 * src/defs.h: decreased UI_REFRESH_INTERVAL to 40 msec.
309 * src/pop.[ch]: workaround for brekage of retrieval when given size
310 and actual one is different.
314 * src/pop.c: pop3_retr_eom_recv(): ignore invalid end of message
315 since some servers sometimes return incorrect message size.
316 * src/news.c: news_session_new(): zero clear NNTPSession object.
317 Don't initialize Session::sock with nntp_sock->sock to prevent
318 double-free of SockInfo.
319 * src/imap.c: zero clear IMAPSession object.
320 imap_cmd_append(): don't close SockInfo.
324 * src/pop.c: pop3_session_recv_msg(): fixed STLS.
329 src/pop.[ch]: reimplemented using new I/O system.
330 * src/session.[ch]: session_recv_data(): new.
331 session_send_data_to_sock()
332 session_recv_data_from_sock(): decreased the frequency of progress
337 * src/smtp.c: smtp_auth_recv(): fixed CRAM-MD5 authentication.
341 * src/session.[ch]: session_start_tls(): new.
342 session_recv_msg(): made it static.
346 * implemented asynchronous network I/O.
347 * src/session.[ch]: the interface to communicate with servers through
350 src/send_message.[ch]: rewrote using new I/O system.
351 * src/socket.[ch]: renamed *_write() to *_write_all(), and made
352 *_write() as just a simple wrapper for write().
353 * src/utils.c: get_outgoing_rfc2822_str(): new. It modifies the
354 message to send with SMTP or NNTP.
355 file_read_stream_to_str(): new.
359 * src/textview.c: textview_button_pressed(): corrected the range of
361 * src/compose.c: compose_wrap_line_all_full(): treat UTF-8 characters
362 represented with more than 2 bytes as 2 character width and 2 bytes
363 one as a single character width as a workaround for wrapping problem.
367 * src/utils.c: subject_compare_for_sort(): allow null strings (fixes
372 * implemented HTML link correctly.
373 * src/html.[ch]: HTMLAttr, HTMLTag: new structure for attributes /
375 html_get_tag(): new. It parses tag and returns HTMLTag object.
376 html_parse_tag(): also parses <a> tags and 'href' attributes.
377 * src/textview.c: textview_write_link(): new. It creates link string.
381 * src/compose.c: compose_wrap_line_all_full(): fixed an infinite
382 loop / crash bug (thanks to Darko Koruga).
383 compose_write_to_file(): put correct charset element when
384 conversion failed but want to send anyway.
388 * src/headerview.c: headerview_show()
389 src/textview.c: textview_write_line(): remove unreadable characters
390 from displayed strings to prevent crashes on multi-byte
392 * src/codeconv.[ch]: conv_unreadable_locale(): new. It was separated
393 from conv_localetodisp().
397 * src/procmsg.c: procmsg_cmp_by_subject()
398 src/summaryview.c: summary_cmp_by_subject(): ignore Re: when
401 subject_compare_for_sort()
402 trim_subject_for_sort(): new.
410 * src/defs.h: added -i option to the default sendmail command.
414 * src/codeconv.[ch]: added missing character encodings and locales.
419 procmsg_get_mark_sum()
420 procmsg_open_mark_file()
421 procmsg_read_mark_file(): take FolderItem instead of directory
426 * src/codeconv.c: conv_encode_header(): fixed a bug that spaces
427 which is on the wrap boundary would be lost when encoding long
428 non-ascii strings (thanks to Sergey Vlasov).
429 Don't force wrapping within a long word until it reaches hard line
430 length limit (998 characters) (workaround for the breakage of
431 long address list with no spaces).
435 * src/prefs_account.c: fixed compile failure when using neither
440 * src/codeconv.c: fixed UTF-8 locale support.
441 conv_get_code_conv_func(): return conv_noconv if locale encoding
442 is UTF-8. Return conv_latintodisp on ISO-8859-* to locale encoding
444 conv_convert(): call conv_iconv_strdup() instead of
445 conv_codeset_strdup().
446 conv_codeset_strdup(): moved some codes into conv_iconv_strdup().
450 * src/prefs_account.[ch]: added an option to use command output for
452 * src/compose.c: compose_insert_sig(): use command output if
454 compose_insert_command_output(): new.
458 * src/main.c: main(): remove lock socket if sylpheed is not running
459 when --status command is executed.
460 lock_socket_remove(): new.
464 * src/codeconv.c: conv_codeset_strdup(): don't convert if current
465 codeset is US-ASCII (or POSIX).
469 * src/codeconv.c: conv_iconv_strdup(): try to skip invalid characters
470 and continue conversion.
474 * src/summaryview.c: summary_selected(): always update widget
479 * src/utils.c: tzoffset_sec(): fixed a bug that displayed wrong
480 date in timezones more than GMT+12 or less than GMT-12.
484 * src/prefs_common.[ch]
485 src/sourcewindow.c: remember the size of source window.
486 * src/md5.c: fixed a compile problem with gcc 3.3.
490 * src/about.c: about_create(): modified the copyright notice.
494 * src/colorlabel.c: don't use pixmaps for label color rect but draw
495 rectangles so we can respect the color map of palette based visuals
496 (fixes the long time crashes on Solaris - thanks to Alfons
501 * src/procheader.c: procheader_date_parse(): made month string case
503 * src/prefs_filter.c: prefs_filter_close(): fixed the crash when the
504 selection list is empty.
508 * src/quote_fmt_parse.y: removed gettext translatable strings.
509 * src/unmime.c: unmime_header(): remove broken characters when
510 code conversion failed.
511 * src/codeconv.c: conv_encode_header(): fixed a bug that broken
512 headers if long words more than 75 characters are entered.
516 * src/prefs_account.c: prefs_account_receive_create()
517 src/utils.c: to_human_readable(): made units translatable.
521 * src/codeconv.c: isprintableeuckanji(): don't allow more than 0xf4
522 at first byte (fixes abort() problem of glibc).
523 * src/html.c: html_read_line(): remove characters which can't be
524 displayed on the current locale.
529 trim_subject_for_compare(): renamed from trim_subject().
530 trim_subject(): new. It removes [...] or (...) at the beginning
532 * src/prefs_folder_item.c
534 added options for trimming summary / compose subject.
535 * src/summaryview.c: summary_set_header(): trim subject if the folder
537 * src/compose.c: compose_reply_set_entry(): trim subject if the folder
543 LBREAK_IF_REQUIRED(): don't break lines before first word (fixes
544 X-Face header problem).
545 conv_encode_header(): allow up to 97 characters for one word.
549 * src/filter.c: filter_match_condition(): fixed the bug that
550 second condition ignored regex.
551 * src/news.h: NewsGroupInfo: use guint for message numbers
552 (fix count in grouplist dialog) (thanks to Thorsten Maerz).
556 * src/codeconv.c: conv_encode_header(): fixed a segfault bug
557 on code conversion failure.
558 conv_get_charset_str()
559 conv_get_charset_from_str(): optimized using hash table.
563 * src/quote_fmt_parse.y:
564 SHOW_MESSAGE_NO_SIGNATURE, SHOW_QUOTED_MESSAGE_NO_SIGNATURE:
565 treat only "\n-- \n" as a signature separator.
569 * src/gtkutils.[ch]: gtkut_ctree_node_prev(): new.
570 * src/summary_search.c: summary_search_execute(): search collapsed
576 conv_unreadable_latin(): include 0x7f as an unreadable character.
577 conv_localetodisp(): don't remove 8bit characters by default.
578 conv_get_current_charset()
579 conv_get_outgoing_charset(): return ISO-8859-15 if "@euro" is
580 appended at the last of locale name.
581 * src/compose.c: compose_write_to_file(): show from and to encoding
582 when code conversion failed.
590 * src/procmsg.h: WRITE_CACHE_DATA(): little speed improvement
591 (thanks to Colin Leroy).
592 * src/mh.c: mh_get_msginfo(): added NULL check (thanks to Thorsten
597 * src/textview.c: textview_write_line(): don't convert if conv is
603 renamed conv_guess_encoding() to conv_guess_ja_encoding().
604 conv_localetodisp(): new. It removes unreadable characters from
605 (assumed) current locale string.
606 conv_codeset_strdup(): convert into ISO-8859-1 if dest_code is
607 NULL and current locale encoding is US-ASCII.
608 conv_get_code_conv_func(): return conv_ustodisp if US-ASCII is
609 specified for destination charset.
610 * src/textview.c: textview_write_line(): use conv_localetodisp()
611 instead of strncpy2() if conversion failed.
615 * src/codeconv.c: conv_iconv_strdup()
617 imap_modified_utf7_to_locale()
618 imap_locale_to_modified_utf7(): use ICONV_CONST macro to remove
619 a warning on some systems.
620 * src/codeconv.c: conv_iconv_strdup(): flush iconv() output and
622 Return NULL instead of incomplete string if conversion failed.
626 * src/summaryview.c: summary_execute(): select appropriate node
627 if currently selected node is to be deleted.
628 * src/gtkutils.[ch]: gtkut_ctree_node_is_selected(): new. Returns
629 TRUE if the specified node is selected.
633 * src/summaryview.c: summary_status_show(): fixed a occasional crash
634 on deleting or moving.
638 * src/codeconv.c: conv_unreadable_eucjp(): made the validity check
639 of EUC-JP more accurate.
640 isprintableeuckanji(): new. Use table for validity check of EUC-JP.
652 * src/quoted-printable.c: qp_encode_line(): fixed linebreak
653 duplication bug if the source string has CRLF.
655 canonicalize_str(): new. Returns newly allocated canonicalized
657 uncanonicalize_file(): new. Uncanonicalize (CRLF -> LF) text.
658 uncanonicalize_file_replace(): new.
659 * src/compose.c: always canonicalize body before processing, and
660 uncanonicalize before returning.
664 * src/procmime.c: procmime_get_encoding_for_charset(): prefer
665 ENC_8BIT for Russian charsets.
666 * src/compose.c: compose_write_to_file(): use base64 when signing
671 * src/prefs_common.c: prefs_send_create(): added a description for
672 the setting of Content-Transfer-Encoding.
676 * src/codeconv.c: fixed locale_table for Russian locales (thanks to
678 * src/procmime.c: procmime_get_encoding_for_charset(): return
679 ENC_BASE64 for ISO-8859-5, KOI8-* and Windows-1251.
680 * src/compose.c: compose_attach_append(): set correct Content-
681 Transfer-Encoding for message/rfc822.
682 compose_write_to_file(): enabled user-definable Content-Transfer-
684 * src/prefs_common.[ch]: added an option for user-defined Content-
689 * src/quoted-printable.[ch]: qp_encode_line(): fixed a bug if the
690 line doesn't end with linebreak.
694 * implemented quoted-printable encoding.
695 * src/quoted-printable.[ch]: qp_encode_line(): new.
697 compose_write_to_file()
698 compose_write_attach(): implemented quoted-printable encoding.
699 compose_attach_property_create(): enabled quoted-printable menu
701 * src/procmime.c: procmime_get_encoding_for_charset(): return
702 ENC_QUOTED_PRINTABLE for ISO-8859-* and CP125* charset.
703 * src/Makefile.am: added $(LIBICONV) to sylpheed_LDADD for libiconv
710 src/utils.[ch]: get_abbrev_newsgroup_name(): improved the way
711 of abbreviation of newsgroup name.
715 * configure.in: show the result of iconv detection.
719 * src/codeconv.[ch]: made the transition from libjconv to iconv().
720 conv_iconv_strdup(): new.
724 src/prefs_common.c: replaced HAVE_LIBJCONV to HAVE_ICONV.
730 src/prefs_folder_item.c: English fix (property -> properties).
731 * src/prefs_filter.c: alert if entry is not saved.
732 prefs_filter_dialog_to_filter(): new.
736 * src/codeconv.c: conv_encode_header(): fixed a bug which output raw
737 strings after linefeed.
742 * src/codeconv.[ch]: code cleanup and optimization.
743 conv_code_converter_new()
744 conv_convert(): use functions obtained by conv_get_code_conv_func()
746 conv_codeset_strdup(): code cleanup.
747 conv_get_code_conv_func(): added an argument for destination
748 character set, and generalized.
752 * src/codeconv.c: LBREAK_IF_REQUIRED(): break line only if some
754 * src/compose.c: compose_convert_header(): remove trailing spaces.
755 * src/customheader.c: custom_header_read_str(): strip the spaces
757 * src/prefs_customheader.c: prefs_custom_header_clist_set_row():
758 strip the spaces of name and value.
766 * src/codeconv.c: conv_encode_header(): fixed a bug which will run
767 into infinite loop when encountering invalid characters.
771 * src/procmsg.[ch]: procmsg_sort_msg_list(): new. It sorts message
773 * src/summaryview.c: summary_show(): removed summary_sort() because
774 it is done inside folder_item_get_msg_list(). This will improve
775 the performance of summary display.
776 Sorted out the summary sort functions using macros.
780 src/folder.[ch]: folder_item_get_msg_list(): return pre-sorted
781 list if FolderItem::sort_key is set.
782 Added SORT_BY_TO to FolderSortKey enum.
783 * src/mainwindow.c: added "View/Sort/by recipient".
791 * src/codeconv.c: conv_encode_header(): fix for redundant space on
793 * src/compose.c: compose_convert_header(): always pass string to
794 conv_encode_header() for line-breaking.
798 * src/textview.c: textview_make_clickable_parts(): fixed incorrect
799 parsing of email addresses.
803 * src/defs.h: added DEFAULT_BROWSER_CMD.
804 * src/mimeview.c: mimeview_view_file()
805 src/prefs_common.c: prefs_other_create()
806 src/utils.c: open_uri(): changed the default web browser to
807 mozilla, and changed 'raise' command (which is undocumented)
808 to 'new-window' in 'netscape -remote'.
812 * src/compose.c: compose_send_control_enter(): fixed crash on
813 Ctrl-Enter when Message/Send has no accelerator key (thanks to
821 sort_summary_type_cb(): prevent unwanted processing on unchecking
826 * src/main.c: process command line option before gtk_init() to
827 enable remote operation without X (thanks to Ruslan N. Balkin).
828 * src/codeconv.c: conv_encode_header(): fixed a potential buffer
833 * src/Makefile.am: changed $(target_alias) to $(target_triplet)
834 (the spec of autotools seems to be changed).
838 * src/imap.c: get path separator using LIST command if server
839 doesn't support NAMESPACE (based on the patch by Brian Sammon).
840 imap_parse_list(): added an argument to return path separator.
841 imap_get_namespace_by_list(): new.
845 * src/addr_compl.c: add_address(): removed the debug print.
846 * src/gtkutils.[ch]: gtkut_window_popup()
847 src/mainwindow.c: main_window_popup(): applied the patch to fix
848 the behavior of window popup from Sergey Vlasov (thanks!)
849 * src/account.c: account_edit_create(): use signal_connect_after
850 for row_move signal to fix the row position bug.
851 account_row_moved(): scroll the CList half page.
852 * src/prefs_filter.c: prefs_filter_row_move(): scroll the CList
854 * src/summaryview.c: summary_reply(): use selection text only if
855 the displayed message is selected (thanks to Sergey Vlasov).
859 * src/codeconv.c: conv_encode_header(): reimplemented the routine
860 of MIME header encoding. And use Q-encoding method if the current
861 locale is single-byte one.
862 * src/utils.[ch]: is_next_nonascii(): take multi-byte string instead
863 of wide-character string. Consider control codes as non-ASCII.
864 get_next_word_len(): new. It returns the length of next word.
865 is_next_mbs(), find_wspace(): removed.
866 * src/quoted-printable.[ch]: new.
867 qp_decode_line(): decodes one QP line.
868 qp_decode_q_encoding(): decodes Q-encoded string in MIME header.
869 qp_get_q_encoding_len(): returns the length when a string is
871 qp_q_encode(): Q-encode a string (RFC 2047).
872 * src/unmime.c: moved the functions for quoted-printable to
877 * src/send.c: send_message_local(): escape line that only have one
878 dot character (postfix's sendmail command will stop there).
882 * src/send.c: send_message_local(): don't escape first-dot line
883 (thanks to Sergey Vlasov).
887 * autogen.sh: added 'libtoolize --force --copy' to override the
889 * acconfig.h: removed.
890 * configure.in: increased minimal version of GPGME to 0.3.10.
891 Fixed checking of XIM.
893 ac/gnupg-check-typedef.m4: added an argument for comment.
897 * src/imageview.[ch]: fixed conflicting declarations of
898 imageview_show_image() (thanks to Thorsten Maerz).
902 * src/compose.c: compose_entry_append(): don't add ", " on subject
904 * src/codeconv.c: conv_get_outgoing_charset(): obtain outgoing
905 charset from the table (currently disabled for non-Japanese locales).
906 conv_get_current_locale(): also refer to LC_CTYPE.
910 * README: added a description about hidden settings.
914 * src/prefs_common.[ch]: reorganized the common prefs dialog.
915 Made enable_hscrollbar and bold_unread hidden options.
919 * src/quote_fmt_parse.y: fixed a parse error (thanks to Andreas Hinz).
924 account_find_from_message_file()
925 account_find_from_msginfo(): new. They find an account from the
926 headers like 'From:', 'X-Sylpheed-Account-Id:', and 'AID:' in the
929 compose_reedit(): restore messages' previous account on composition.
930 compose_write_headers(): add 'X-Sylpheed-Account-Id:' header
935 * src/compose.c: cleaned up the code using compose_entry_set()
936 (don't use gtk_entry_set_text() directly).
940 * src/imap.c: imap_parse_namespace(): fixed a memory leak.
944 * updated autotools and libtool to the latest version.
945 * configure.in: added AC_PREREQ(2.50).
949 * src/textview.c: textview_set_font(): fix for message display in
950 UTF-8 locales (thanks to Sergey Vlasov).
954 * src/imageview.[ch]: imageview_show_image(): resize images to fit
955 the window size if specified.
956 * src/prefs_common.[ch]: added an option 'Resize attached images'.
960 * refactoring for SMTP implementation.
961 * src/session.h: added ui_func to Session.
962 * src/smtp.[ch]: separated the connection routine from
963 smtp_session_new() to smtp_connect().
964 Changed the argument of every function other than smtp_ok() from
965 SockInfo to SMTPSession.
966 Call UI callback from each functions.
967 * src/send.c: send_message_smtp(): separated the code for UI update
968 into send_progress_dialog_update().
972 * src/smtp.[ch]: separated smtp_auth() from smtp_from().
973 * src/send.c: send_message_smtp(): call smtp_auth() and display
974 the state to the dialog.
978 * src/filter.c: strmatch_regex(): use extended regex (thanks to
980 * src/main.c: main(): removed the code for assortrc -> filterrc
982 * src/gtkutils.c: gtkut_font_load(): only use gdk_font_load() if
983 current locale is C or POSIX.
984 gtkut_stext_is_uri_string(): include "www." for URI string.
985 * src/textview.c: textview_make_clickable_parts(): include "www."
994 * src/textview.c: textview_add_part(): indicate signature status
995 using different colors.
999 * src/folder.c: folder_write_list_recursive(): escape
1000 To/Cc/Bcc/Reply-To strings.
1004 * src/codeconv.c: conv_encode_header(): enabled B-encoding of
1005 headers on locales other than Japanese when not using libjconv.
1009 * src/inc.[ch]: added INC_IO_ERROR to IncState. Also added its
1010 corresponding error message.
1011 inc_pop3_session_do(): set INC_IO_ERROR instead of INC_NOSPACE
1016 * src/prefs_account.[ch]: removed prefs_account_save_config() since
1018 * src/procmime.[ch]: removed procmime_mimeinfo_free() since
1019 procmime_mimeinfo_free_all() can be used in every case.
1023 * src/account.c: account_get_special_folder(): support F_INBOX, and
1028 * src/compose.[ch]: ComposeEntryType: changed COMPOSE_* to
1029 COMPOSE_ENTRY_*, and added
1030 COMPOSE_ENTRY_{REPLY_TO,SUBJECT,FOLLOWUP_TO}.
1033 compose_redirect(): added FolderItem to the arguments, and reflect
1034 settings in the item.
1035 compose_entry_set(): new.
1036 compose_entry_append(): code cleanup.
1037 compose_entries_set_from_item(): take ComposeMode in its arguments,
1038 and enabled FolderItem::use_auto_to_on_reply.
1039 * src/summaryview.c: summary_reply(): pass folder_item to
1040 compose_{reply,forward,redirect}().
1044 * src/gtkutils.[ch]:
1045 gtkut_font_load(): new. It automatically choose font or fontset
1047 gtkut_font_load_from_fontset(): new. It tries to load single font
1048 instead of fontset from a fontset string.
1052 src/summaryview.c: workaround for the problem that couldn't display
1053 8-bit characters in C or POSIX locale (use font instead of fontset).
1056 src/textview.c: made code cleanup using gtkut_font_load*().
1060 * src/mh.c: mh_get_msginfo(): set correct message number.
1064 * src/folder.[ch]: added a new virtual method Folder::get_msginfo().
1065 It returns a new MsgInfo associated to a message number.
1066 folder_item_get_msginfo(): new.
1067 * src/imap.[ch]: imap_get_msginfo(): new.
1068 * src/mh.[ch]: mh_get_msginfo(): new.
1069 * src/news.[ch]: news_get_msginfo(): new.
1073 * src/codeconv.c: conv_euctojis(): fixed a bug which will cause
1074 infinite loop if an invalid code appeared.
1078 * src/codeconv.c: conv_codeset_strdup()
1079 src/html.[ch]: html_read_line(): don't output conversion failure
1081 Added HTML_CONV_FAILED to the enum HTMLState.
1085 * implemented per-folder auto-set address (still in progress).
1086 * src/compose.[ch]: compose_new(): added FolderItem to its arguments,
1087 and set entries from it (if mailto is empty).
1088 compose_entry_append(): activate menu if required.
1089 compose_entries_set_from_item(): new.
1090 * src/folder.[ch]: added auto_to, use_auto_to_on_reply, auto_cc,
1091 auto_bcc, and auto_replyto to FolderItem, and renamed apply_sub to
1093 folder_build_tree(), folder_read_folder_func(),
1094 folder_write_list_recursive(): added the above members.
1095 * src/prefs_folder_item.[ch]: added auto-set addresses.
1096 * src/pop.[ch]: removed Pop3State::prev_folder.
1100 * src/compose.c: allow dropping files by also "moving" files from a
1101 file manager (thanks to Alfons).
1105 * compose_reply_set_entry(): made Reply-To have priority over
1106 List-Post on ML reply.
1110 * src/gtksctree.[ch]: gtk_sctree_set_anchor_row(): new.
1111 * src/summaryview.c: summary_step(): fixed a bug that lost the
1112 correct selection anchor.
1113 summary_key_pressed(): use gtk_sctree_select() instead of
1117 src/recv.c: differentiate disk full and socket errors
1118 (thanks to Colin Leroy).
1122 * src/account.c: account_edit_prefs(): removed unused variables.
1123 * src/compose.[ch]: separated WITH_QUOTE/WITHOUT_QUOTE flags in
1126 compose_reply_set_entry(): receive reply type with one argument.
1127 * src/summaryview.c: summary_reply(): reduced conditional branches.
1131 * src/compose.c: compose_redirect(), compose_reedit(): strip CR
1132 from line ends (thanks to Sergey Vlasov).
1133 * src/folderview.c: renamed 'Rescan folder tree' to 'Rebuild
1138 * src/folder.[ch]: added a virtual method Folder::remove_msgs().
1139 * src/imap.[ch]: implemented imap_remove_msgs() which expunges
1140 messages all at once.
1144 * src/account.[ch]: account_open(): new. It opens account prefs
1145 dialog and reflects to UI when finished.
1147 folderview_button_pressed()
1148 folderview_property_cb(): open account prefs dialog when the
1149 property of the root folder of remote account is requested.
1153 * src/account.c: account_destroy(): unref account information in
1155 * src/folder.[ch]: folder_unref_account_all(): new. It unref the
1156 specified account information in all folders.
1158 folderview_rm_imap_server_cb()
1159 folderview_rm_news_server_cb(): destroy Folder first because
1160 folder_destroy() refers to account information.
1164 * src/account.c: account_find_from_item(): fixed a bug which didn't
1165 select the correct account.
1166 * inc_pop3_session_do():
1167 fixed the resource leak when SSL initialization failed.
1168 Immediately break from temporary event loop if cancelled.
1172 * src/account.[ch]: account_find_from_item(): new.
1174 compose_reply(), compose_forward(), compose_redirect()
1175 src/mainwindow.c: compose_cb(): select optimal account when
1177 * src/folder.[ch]: added FolderItem::apply_sub.
1178 * src/menu.[ch]: menu_find_option_menu_index(): new. It finds the
1179 index of option menu which contains the specified data.
1180 * src/prefs_folder_item(): added Compose tab, and the setting of
1185 * configure.in: added $LDAP_LIBS for lber library detection.
1193 * src/procmsg.c: procmsg_msginfo_get_full_info(): fixed a memory
1194 leak, and added error checking.
1198 * src/compose.[ch]: added a flag Compose::use_newsgroups, and
1199 removed Compose::orig_account.
1200 compose_check_for_valid_recipient(): check only enabled entries.
1201 compose_write_headers()
1202 compose_redirect_write_headers(): add Newsgroups header only
1203 when the entry is enabled.
1204 compose_send(): modified the method of finding a mail account
1205 from a news account so that it tries to match the From address.
1206 * src/send.c: send_message_queue(): enabled the queueing of news
1208 * src/news.[ch]: news_post_stream(): new.
1212 * configure.in: check lber first and use $LDAP_LIBS on the check
1217 * po/*.po: fixed many typos of format strings which will lead to
1218 crash (thanks to Sergey Vlasov).
1222 * src/procheader.c: procheader_parse_stream(): added Cc header
1223 to the target for full parsing.
1224 * src/procmsg.[ch]: procmsg_msginfo_get_full_info(): new. It
1225 returns the full message information from the given information.
1226 * src/compose.c: compose_reply(), compose_forward(): get full
1227 message information for Cc header.
1231 * src/inc.c: inc_account_mail(), inc_all_account_mail(): update
1232 IMAP4 and NNTP folder summary after checking those accounts.
1240 * src/prefs_common.c: prefs_compose_create(): modified the label
1241 of the option for Reply button.
1242 * configure.in: add -lldap and -llber to the 5th argument of
1243 AC_CHECK_LIB() for LDAP library detection.
1248 INSTALL.jp: updated.
1252 * src/mainwindow.c: toggle the behavior of Reply button between
1253 normal reply and reply-to-list.
1254 * src/prefs_common.[ch]: added an option to switch the function
1259 * src/compose.c: compose_new(): removed the workaround for XIM
1260 because it doesn't have any effect and only seems to cause
1265 * src/compose.[ch]: compose_reply(): added a flag for reply-to-ML.
1266 compose_parse_header(): parse also List-Post header.
1267 compose_reply_set_entry(): support reply-to-ML (fall back to
1268 normal reply if ML address is not found).
1271 src/summaryview.c: reorganized Reply menu and added 'Reply to
1273 * src/utils.[ch]: scan_mailto_url(): new. It scans mailto URL and
1274 returns newly allocated parameters.
1278 * src/account.c: account_read_config_all(): set account information
1279 to default before initializing with configuration file.
1280 * src/prefs_account.[ch]: prefs_account_new(): new. It returns a
1281 newly created account information structure initialized by
1282 the default settings.
1287 replace_address_in_edit(): check if newtext is NULL.
1288 completion_window_button_press(): fixed a memory leak.
1289 * src/pop.c: LOOKUP_NEXT_MSG(): don't expire messages whose
1290 recv_time is RECV_TIME_KEEP.
1291 pop3_getrange_uidl_recv(): only set get_all flag if
1292 ac_prefs->getall is set.
1293 pop3_retr_recv(): don't delete messages which are not received
1294 by filter, and set recv_time to RECV_TIME_KEEP in the case.
1295 * src/pop.h: added an enum RecvTime.
1296 * src/inc.c: inc_drop_message(): unlink temporary message file if
1297 not received by filter.
1301 * src/mainwindow.c: added 'Edit/Select thread' menu.
1302 * src/summaryview.[ch]: added 'Select thread' to the context menu.
1303 summary_select_thread(): new. It selects all messages of current
1308 * src/rfc2015.c: check_signature(): corrected error handling and
1313 * src/rfc2015.c: check_signature(): correctly remove the last empty
1314 line, and canonicalize the file part before verifying (this should
1315 fix incompatibility with Evolution or some other MUAs).
1316 * src/utils.[ch]: copy_file_part(): new. It copies the specified
1317 range of file stream to another file.
1321 * src/compose.c: compose_write_to_file(): force BASE64 encoding for
1322 8-bit text when signing (thanks to Colin Leroy).
1326 * src/prefs_common.c: prefs_send_create(): fixed the charset string
1327 for Cyrillic (Windows-1251).
1335 * src/codeconv.c: changed the charset for ru_RU.CP1251 to
1336 Windows-1251. Added bg_BG locale.
1340 * src/compose.c: account_activated(): change the state of menu items
1341 and entries according to the selected account.
1342 compose_select_account(): new. It changes the state of title bar,
1343 menu items and entries.
1347 * src/inc.c: inc_mail(): correct new_msgs when inc_spool() returned
1349 Don't refresh summary view on fetching when open_inbox_on_inc is
1354 * src/summaryview.c: summary_show(): refresh even if open_inbox_on_inc
1355 is set (to avoid summary refresh problem).
1356 * src/imap.c: removed warnings by checking the existence of directory
1357 before calling remove*_numbered_files().
1361 * src/prefs_common.c: corrected English.
1365 * src/prefs_common.[ch]: added an option: "Mark messages as read
1366 only when opened in new window".
1371 folder_tree_destroy()
1372 folder_write_list_recursive(): added sanity check.
1373 * src/imap.c: imap_scan_tree(): if folder->node is NULL and
1374 can't get session, create empty folder node (based on the
1375 Alfons' suggestion).
1379 * src/textview.c: textview_key_pressed(): pass GDK_Delete event to
1381 * src/summaryview.c: summary_key_pressed(): scroll correct TextView
1386 * src/news.c: news_scan_group(): fixed wrong message number
1391 * major refactoring for POP3.
1392 * src/inc.[ch]: moved Pop3State, inc_pop3_state_new(),
1393 inc_pop3_state_destroy(), inc_get_uidl_table(), and
1394 inc_write_uidl_list() into pop.c.
1395 Moved Pop3State::folder_table and Pop3State::inc_state into
1398 inc_put_error(): added lockbusy state.
1399 inc_pop3_session_do(): obtain inc_state from Pop3State::error_val.
1400 inc_cancel(): don't terminate the automaton here but just set
1401 the flags to prevent crash.
1403 pop3_getauth_pass_recv()
1404 pop3_getauth_apop_recv(): check lockbusy state.
1405 pop3_retr_recv(): check Pop3State::cancelled flag.
1406 * src/automaton.[ch]: added 'cancelled' flag to Automaton.
1407 automaton_input_cb(): terminate if cancelled flag is true.
1408 * sylpheed.desktop: changed Type=Internet to Type=Application.
1409 Added Categories=Application;Network;.
1415 src/progressdialog.c: show detailed information to the status
1417 Added cur_total_recv_bytes to Pop3State.
1418 * src/prefs_common.[ch]: added an option to specify whether to
1419 close receive dialog when finished.
1423 * src/folder.[ch]: folder_get_path(): new. It returns the root path
1427 imap_folder_destroy()
1429 imap_remove_all_msg()
1430 news_folder_destroy(): remove cache directories / files when
1431 deleting Folder / messages.
1435 is_file_entry_exist(): check if the argument is NULL.
1437 remove_numbered_files()
1438 remove_expired_files(): fixed memory leaks on error.
1447 src/smtp.[ch]: made Folder and Session destructor virtual method.
1451 * src/compose.c: do joining of normal lines only when auto-wrapping.
1452 * src/main.c: modified the warning message for GnuPG.
1453 * src/about.c: about_create(): modified the compiled-in features
1455 * configure.in: improved LDAP library checking (thanks to Alfons).
1465 compose_wrap_line_all(): backed out the change to join lines that
1470 * configure.in: require at least gpgme-0.3.5.
1474 * src/alertpanel.c: alertpanel_create(): minor modification.
1483 * src/alertpanel.c: alertpanel_create(): modified the layout.
1484 * src/rfc2015.c: check_signature(): don't abort on error.
1488 * src/compose.c: compose_wrap_line_all(): freeze widget only if
1489 required to repress flickers.
1493 * src/compose.c: improved line wrapping.
1495 compose_wrap_line_all(): also join lines that are not indented.
1496 dump_text(): handle multi-byte strings correctly.
1500 * src/compose.c: compose_wrap_line_all(): fix for auto-wrapping
1501 (go to next line when space is entered at line limit).
1505 * src/inc.c: inc_get_uidl_table(): fixed a memory leak reported by
1510 * src/mh.c: mh_scan_tree_recursive(): disabled Maildir folder
1511 checking to prevent confusion.
1515 * src/folder.[ch]: folder_item_get_msg_list(): added a wrapper for
1516 method Folder::get_msg_list().
1517 * src/account.c: account_edit_prefs(), account_delete(): use
1518 folderview_set_all() instead of folderview_rescan_all().
1519 * src/folderview.[ch]:
1520 folderview_check_new_all(): new. Updates all folders.
1521 folderview_rescan_tree(): confirm before executing.
1522 folderview_rescan_all(): commented out since it's not used anymore.
1523 folderview_update_item_foreach(): added a flag for summary update.
1524 * src/inc.c: inc_finished(): update summary only when
1525 prefs_common.scan_all_after_inc is set.
1526 inc_drop_message(): set mtime of target folder to 0 to force
1527 the updating of summary.
1528 inc_start(), get_spool(): update also summary when updating
1530 * src/mainwindow.c: changed 'File - Rescan folder tree' to
1531 'File - Check for new messages in all folders'.
1535 * src/compose.c: compose_write_to_file(): clearsign message body
1537 compose_clearsign_text(): new. Replaces the string with clearsigned
1539 * src/prefs_account.c: added an option for clearsign.
1540 * src/rfc2015.c: rfc2015_clearsign(): new.
1541 pgp_sign(): added a flag for clearsign.
1542 * src/utils.[ch]: get_tmp_file(): return newly allocated unique file
1543 name (needs to be freed by caller).
1544 str_write_to_file(), file_read_to_str(): new.
1548 * src/procmsg.c: procmsg_read_mark_file(): check key duplication
1549 to avoid memory leak.
1553 * src/base64.c: include string.h for memcpy().
1554 * src/gtksctree.c: use macro ABS() instead of function abs().
1555 * src/prefs_account.c
1556 src/prefs_common.c: renamed 'send' to 'p_send' so as not to
1557 conflict with the function send() in sys/socket.h.
1558 * src/mainwindow.c: commented out the unnecessary functions.
1559 * src/utils.c: canonicalize_file_replace(): correct warning message.
1563 * src/utils.[ch]: get_tmp_file(): new. Returns the directory for
1564 temporary files in ~/.sylpheed/.
1565 * src/main.c: create temporary directory in ~/.sylpheed/.
1567 src/inc.c: create temporary files in ~/.sylpheed/, and modified
1569 compose_exec_ext_editor(): fixed a bug that failed to create the
1570 temporary file if g_get_tmp_dir() returned directory other than
1575 * src/utils.c: copy_file(): check if dest_bak != NULL when unlinking.
1579 * src/utils.[ch]: canonicalize_file_replace(): fixed a bug that fails
1580 to replace the file when the given file and temporary file are not
1581 on the same filesystem.
1582 copy_file(): added a flag whether to keep backup.
1583 move_file(): added a flag whether to overwrite the destination file.
1587 * src/socket.[ch]: fixed the linking failure when IPv6 is enabled.
1588 * src/select-keys.c: modified key selection dialog.
1592 * src/socket.[ch]: my_gethostbyname(): new.
1593 * src/utils.c: get_domain_name(): return FQDN instead of short
1594 hostname (thanks to Bob Woodside).
1595 * src/template.c: made the debug messages less verbose.
1599 * src/prefs_common.[ch]: removed obsolete default sign key setting.
1600 * src/utils.c: canonicalize_file(): correct the error check of
1605 * src/compose.c: compose_write_to_file():
1606 canonicalize line endings before encrypting/signing (this will fix
1607 interoperability with other MUAs).
1608 Removed unnecessary strdup.
1609 Don't encrypt/sign draft message.
1611 canonicalize_file(), canonicalize_file_replace(): new.
1613 src/select-keys.c: changed g_message() to debug_print() and
1615 * src/mimeview.c: mimeview_check_signature(): removed unnecessary
1616 MIME structure scanning.
1617 * src/textview.c: textview_add_part(): show signature status in
1620 src/sigstatus.c: modified translatable strings and some MIME
1625 * src/procmsg.c: procmsg_save_to_outbox(): don't forget to remove
1626 the temporary file when saving from queue.
1632 src/prefs_account.[ch]
1633 src/prefs_common.[ch]: merged GnuPG stuff from the claws branch.
1634 Modified some messages.
1638 * src/textview.c: textview_scan_header(): fixed a memory leak
1643 * src/prefs_actions.c: execute_actions(): put create_io_dialog()
1644 in right conditional block.
1648 * src/compose.c: compose_wrap_line_all(): fixed character buffer
1654 log_error(): add time stamp to log messages.
1659 corrected a typo (HAVE_SYS_SELECT -> HAVE_SYS_SELECT_H)
1663 * src/socket.c: implemented socket I/O timeout.
1665 * src/pop.c: check errors and return error value correctly.
1669 * src/prefs_actions.c: made the action's input/output dialog display
1670 without delay. Made the dialog modal instead of making window
1671 insensitive. Also cleaned up its UI.
1675 * implemented --attach command line option.
1677 Cmd::attach_files: new member to store file paths.
1678 parse_cmd_opt(): added --attach option. --compose option is implied.
1679 prohibit_duplicate_launch()
1680 lock_socket_input_cb(): added "compose_attach" message.
1683 src/textview.c: renamed compose_new_with_recipient() to
1684 compose_new(), and added an argument for attachment files.
1688 * src/logwindow.c: freeze GtkText widget while hidden.
1689 log_window_append(): changed the header for message and warning.
1693 * src/news.c: implement automatic cache expiration.
1694 news_delete_expired_caches(): new.
1695 news_get_article_list(): fixed a bug that nonexistent messages
1696 were not removed from list.
1697 * src/procmsg.[ch]: procmsg_get_last_num_in_msg_list(): renamed
1698 procmsg_get_last_num_in_cache().
1699 * src/utils.[ch]: remove_expired_files(): new.
1704 inc_mail(): force summary refresh when using external command for
1706 inc_all_account_mail(): fixed a bug on spool checking failure.
1717 src/editldap_basedn.c
1719 src/prefs_common.c: fixed memory leaks which didn't free strings
1720 gtk_editable_get_chars() returned. And minor code cleanups.
1722 src/vcard.h: removed C++-style comments.
1726 * src/codeconv.c: conv_encode_header(): fixed a problem in encoding
1727 strings which include both multi-byte and us-ascii characters.
1731 * src/utils.c: remove_numbered_files(): don't try to unlink()
1734 conv_get_code_conv_func(): return conv_anytodisp() if charset is
1736 conv_unmime_header_overwrite()
1737 conv_unmime_header(): do conv_anytodisp() before decoding header.
1745 * src/compose.c: added 'Tools/Actions' menu.
1749 * src/base64.c: a minor fix for BASE64VAL() macro.
1753 * src/base64.c: base64_decode(): fixed a buffer overrun bug.
1761 src/base64.[ch]: rewrote the BASE64 encode / decode routines.
1762 base64_encode(), base64_decode(): new.
1763 * src/rfc822.[ch]: removed.
1765 src/about.c: removed the copyright notice for fetchmail.
1771 src/unmime.[ch]: rewrote the MIME decode routines.
1773 unmime_quoted_printable_line(): new.
1775 procheader_get_one_field()
1776 procheader_get_unfolded_line(): remove also CR.
1780 * libkcc: removed from the source tree.
1782 src/about.c: removed the copyright notice for libkcc.
1783 * src/codeconv.c: conv_guess_encoding(): check for ASCII code first
1785 * src/prefs_actions.c: removed unnecessary spaces/tabs.
1789 * src/prefs_actions.c: comply with the coding style.
1790 Modified the UI design.
1791 * src/mainwindow.c: main_window_set_menu_sensitive(): enable Actions
1792 menu when multiple messages are selected.
1796 * src/prefs_actions.[ch]: merged the 'Actions' feature from claws.
1797 update_actions_menu(): simplified the menu deletion.
1798 * src/mainwindow.c: added 'Actions' menu to Tools and Configuration.
1802 * src/codeconv.[ch]: implemented conv_jistoeuc(), conv_euctojis(),
1803 conv_sjistoeuc(), and conv_guess_encoding(). Removed the dependency
1808 * configure.in: added check for strchr.
1812 * src/prefs_common.[ch]
1813 src/inc.c: added an option to inhibit receive error dialog.
1817 * src/account.c: account_find_from_address(): support multiple
1818 addresses in header.
1822 * src/gtksctree.[ch]: changed GtkSCTree::anchor_row from gint to
1823 GtkCTreeNode* so that it won't become invalid after the row move.
1824 Removed dependency to gtkutils.c.
1825 * src/prefs_common.[ch]
1826 src/summaryview.c: summary_selected(): added an option to show
1827 message when cursor keys are pressed on summary view.
1833 src/compose.c: changed "host_alias" to "target_alias" so that it
1834 shows the correct system name on cross-compiling (thanks to
1839 * src/prefs_account.[ch]: added the option menu to force an
1840 authentication method for SMTP AUTH.
1842 src/smtp.[ch]: smtp_from(), smtp_auth(): added an argument to
1843 specify the authentication method for SMTP AUTH.
1844 smtp_ehlo(): allow AUTH responses that don't comply with the RFC.
1848 * src/prefs_common.[ch]
1849 src/compose.c: enabled "Wrap on input".
1853 * src/summaryview.[ch]
1854 src/mainwindow.c: added "Go to/{Prev,Next} new message" menu.
1855 Made some code cleanups.
1860 src/prefs_common.[ch]: added the hidden option to specify the
1861 policy of the vertical scrollbar on folder view.
1865 * src/messageview.[ch]:
1866 messageview_copy_clipboard(): fixed a bug that couldn't copy text
1868 messageview_get_current_textview(): new.
1869 messageview_get_text_widget(): removed.
1870 * src/quote_fmt_parse.y: quote message even if msginfo is empty.
1871 * src/compose.[ch]: implemented the "Paste as quotation" feature.
1872 text_inserted(): new callback for "insert_text" signal.
1873 Add quote mark to the pasted text if Compose::paste_as_quotation
1878 * src/compose.c: if the Content-Type of a file is text/*, check
1879 its content and set the optimal Content-Transfer-Encoding (thanks
1884 * src/textview.c: textview_key_pressed(): pass key press event to
1885 main window to activate menu shortcuts (thanks to Alfons).
1889 * src/folder.c: folder_build_tree(): use strtoul() instead of atoi()
1890 for mtime to prevent flooring.
1893 imap_move_msgs_with_dest()
1894 imap_copy_msgs_with_dest(): fixed a bug that prevented multiple
1896 imap_parse_envelope()
1897 imap_cmd_envelope(): use RFC822.HEADER instead of ENVELOPE to get
1898 full information of messages and simplify the parser. Also fixed
1899 the bug that References header was ignored on threading.
1900 imap_parse_one_address()
1901 imap_parse_address(): removed.
1902 imap_get_header(): new. It reads the RFC822 header and returns
1903 a newly allocated string.
1904 * src/procheader.[ch]: changed procheader_parse() to
1905 procheader_parse_stream() and added different interfaces for it.
1909 * po/zh_TW.Big5.po: fixed a mistake that caused a crash.
1917 * src/inc.c: inc_get_uidl_table(): fixed a bug that garbage time
1918 could be inserted into the hash table.
1919 inc_write_uidl_list(): a minor code cleanup.
1920 * src/mainwindow.c: main_window_get_current_state():
1921 make the state unexecutable on an empty folder.
1922 * src/summaryview.c: summary_sort(): don't sort on an empty folder.
1923 * src/pop.c: minor code cleanups.
1927 * src/prefs_account.c: CREATE_RADIO_BUTTONS(): fixed a typo and
1928 corrected the behavior of the radio buttons.
1932 * implemented 'Delete messages after N days' feature for POP3.
1934 inc_get_uidl_table()
1935 inc_write_uidl_list(): moved the location of UIDL list file from
1936 RC_DIR/uidl-* to RC_DIR/uidl/*.
1937 Added received time for each UIDLs.
1938 src/main.c: main(): create RC_DIR/uidl/ directory.
1939 src/pop.[ch]: LOOKUP_NEXT_MSG(): delete expired messages here.
1940 Added recv_time to Pop3MsgInfo.
1941 src/prefs_account.[ch]: added an option for the number of days for
1950 * src/folder.c: folder_set_missing_folders(): fixed a bug that
1951 caused multiplication of special folders on startup if their
1953 * src/folderview.c: folderview_remove_mailbox_cb(): modified the
1958 * src/compose.c: compose_reply(), compose_forward(): reverted the
1959 last change since it causes lockup problem.
1963 * src/compose.c: compose_reply(), compose_forward(): don't autowrap
1965 compose_new_with_recipient(): workaround for initial XIM problem.
1969 * src/mainwindow.c: sort ascending / descending order can be
1970 specified with separated menu items.
1971 Added "View/Sort/Don't sort" menu item.
1972 * src/summaryview.[ch]: summary_sort(): added an argument for
1977 * implemented persistent sort order.
1979 folder_build_tree(): read 'sort_key' and 'sort_type' attributes.
1980 folder_write_list_recursive(): write sorting state.
1982 src/summaryview.[ch]: summary_show(): sort if required.
1983 select the top node on descending sort.
1984 Removed SummarySortType and sorting state variables from
1992 src/prefs_account.[ch]: enabled NNTP over SSL.
1993 * src/nntp.c: nntp_group(): issue MODE READER command and retry
1994 when GROUP command once failed (this seems to avoid problems on
1995 some broken news servers).
1999 * faq/it/*.html: corrected DOS linebreaks.
2000 * faq/*/*.html: changed ">" to ".
2004 * src/prefs_account.c: prefs_account_protocol_activated(): hide
2005 unnecessary frames in SSL tab.
2011 src/prefs_account.[ch]: enabled STLS command in POP3.
2012 * src/account.c: account_clist_set_row(): display TLS setting.
2016 * src/compose.c: compose_send_later_cb(): support redirect function.
2019 src/prefs_account.[ch]: enabled STARTTLS command in IMAP4.
2021 src/smtp.[ch]: use SSLType instead of SSLSMTPType.
2025 * src/utils.[ch]: make_dir(): wrapper for mkdir() and chmod().
2026 * src/compose.c: compose_create(): removed unrequired lines.
2030 * src/news.c: news_scan_group(): fixed a bug that set the wrong
2031 values in some cases.
2032 * src/prefs_account.c: corrected English in Advanced - Folder
2037 * src/textview.c: textview_show_message(), textview_show_part():
2038 fixed a bug that GtkSText *text pointed the incorrect object.
2039 textview_add_part(): freeze GtkSText while adding RFC822 headers.
2040 textview_show_part(): fixed a bug that couldn't display single
2041 part MIME message as text.
2045 * src/compose.c: compose_redirect_write_to_file(): correct the target
2046 for change_file_mode_rw(). Check if fclose() succeeded. Unlink
2047 incomplete file when an error occured.
2052 compose_create(): disable menus for draft on redirection mode.
2053 compose_redirect_write_to_file(): correct the error handling of
2055 * src/prefs_common.c: turned off the "Display recipient on `From'
2056 column if sender is yourself" option by default.
2060 * src/compose.[ch]: implemented 'Redirect' (aka Bounce) feature.
2061 Based on the implementation of the claws branch.
2062 compose_redirect(): create a new window and make it uneditable.
2063 compose_redirect_write_to_file(): copy headers and body of
2064 original message except for some.
2065 compose_redirect_write_headers(): add extra "Resent-*" headers.
2066 compose_create(): set menu sensitivity for redirection mode.
2070 * src/codeconv.c: conv_encode_header(): fixed a bug that unnecessary
2071 space is inserted between encoded string and the following folded
2072 one (thanks to Masahiro Tomita).
2076 * src/mainwindow.[ch]: some refactoring has been made.
2077 main_window_toggle_message_view(): moved summary_toggle_view_real()
2079 * src/messageview.[ch]: messageview_is_visible(): new.
2080 * src/summary_search.c
2081 src/summaryview.[ch]: SummaryView::msg_is_toggled_on: removed.
2082 Instead use messageview_is_visible().
2086 * src/mainwindow.c: added 'Expand/Collapse all threads' menu.
2087 * src/summaryview.[ch]:
2088 summary_expand_threads(), summary_collapse_threads(): new.
2092 * src/mainwindow.c: Fixed the behavior of
2093 '/View/Show or hide/Folder tree' and
2094 '/View/Show or hide/Message view' toggle menu.
2095 Removed '/View/Toggle summary view' menu and integrated the
2096 function into '/View/Show or hide/Message view'.
2097 main_window_set_widgets(): change the state of toggle menu items.
2098 * src/prefs_common.c: prefs_keybind_apply_clicked(): updated menurc
2103 * src/mimeview.c: mimeview_set_multipart_tree(): show single part
2104 MIME contents other than text as children of message/rfc822 part.
2106 procmime_mimeinfo_next(): modified for message/rfc822 part which
2107 content-type is single part MIME.
2108 procmime_scan_multipart_message(): fix for nested message/rfc822
2109 part. Corrected the size of the contents of message/rfc822.
2110 * src/textview.c: textview_show_part(): extract the contents of
2111 multipart/* and message/rfc822. Some code cleanups.
2112 textview_add_parts(): new. It adds the all parts under a part to
2114 textview_clear(): reset body_pos and cur_pos.
2118 * src/addr_compl.c: modified so that it behaves better.
2119 get_address_from_edit(): ignore comma inside of brackets.
2120 completion_window_apply_selection(): new. Only apply the current
2122 completion_window_accept_selection(): removed.
2123 address_completion_complete_address_in_entry(): minor code cleanup.
2124 don't replace address in entry here.
2125 completion_window_select_row(): always apply clist selection to
2127 completion_window_key_press(): don't apply selection here.
2131 * src/imap.c: imap_create_folder(): keep trailing directory separator
2132 to create a folder that contains sub folder.
2136 * src/foldersel.c: sort tree with case insensitive.
2137 * src/mainwindow.c: allsel_cb()
2138 src/messageview.c: messageview_select_all(): fixed 'Select all'
2140 * src/mainwindow.c: removed common and account prefs button from
2145 * src/compose.c: compose_account_option_menu_create(): check if
2154 * manual/ja/*: updated the Japanese manual (thanks to Yoichi Imai).
2155 manual/en/*: updated the English manual.
2157 faq/it/*: added German and Italian FAQ.
2160 faq/fr/*: updated FAQs.
2162 src/mainwindow.c: added German and Italian language.
2166 * src/prefs_account.c: turn off "receive at get all" option by default
2167 when creating an IMAP or News account.
2171 * src/imap.c: imap_scan_tree(): don't use namespace for prefix.
2172 * src/prefs_folder_item.c: show also identifier path.
2173 Made layout using table. Show uneditable entry using background
2175 * src/procmime.c: procmime_get_tmp_file_name(): generate safe
2180 * src/automaton.[ch]: added UI callback to Automaton.
2182 src/pop.c: use callback instead of calling inc_progress_update()
2184 pop3_getrange_uidl_recv(): don't fall back to LAST when 'get all'
2189 * src/folderview.c: properly sort abbreviated newsgroups.
2194 src/prefs_common.[ch]
2195 src/summaryview.c: added an option to specify the minimum length
2196 for abbreviated newsgroups name.
2200 * src/folderview.c: folderview_check_new(): skip unselectable folders.
2201 * src/summaryview.c: added 'Create filter rule' to the context menu.
2202 * src/imap.c: some code cleanups.
2203 imap_scan_tree_recursive(): get path separator for each calls.
2204 imap_get_path_separator(): new.
2208 * src/imap.[ch]: supported namespace for others/shared folders
2210 imap_parse_namespace(): parse also others/shared namespace.
2211 imap_find_namespace(): search also others/shared namespace.
2213 strchr_parenthesis_close(): return pointer to closing parenthesis.
2214 strsplit_parenthesis(): split parenthetic list into array of
2219 * src/procheader.c: procheader_date_parse(): fixed a bug that didn't
2220 parse date string like "Mon,6 May 2002 20:31:12 +0800".
2221 procheader_scan_date_string(): new. Separated string scanning
2222 part from procheader_date_parse().
2226 * src/summary_search.c: summary_search_execute(): unlock while
2227 selecting summary row (thanks to Martin Schaaf).
2228 * src/summaryview.c: summary_set_column_titles(): reversed the
2229 direction of the arrow so that it matches with Win/Mac style.
2233 * src/compose.c: compose_write_headers(): quote self address name
2234 if required. Some code cleanups. Don't override Newsgroups and
2235 Cc with custom headers.
2236 * src/imap.c: imap_add_msg(): return UID for appended message.
2237 * src/compose.c: compose_queue(): check if queue folder exists.
2238 * src/imap.c: QUOTE_IF_REQUIRED(): quote also other IMAP special
2240 imap_open(): removed an unrequired argument.
2244 * src/utils.[ch]: trim_string(): new. It trim characters longer than
2245 the specified length and adds "...".
2246 * src/folderview.c: trim folder name when displaying dialog.
2250 * src/imap.c: imap_create_folder(): don't add prefix for root INBOX
2252 * src/folderview.c: folderview_select()
2253 src/summary_search.c: summary_search_execute(): lock summary view
2254 while searching (thanks to Martin Schaaf).
2262 * sylpheed*.png: added new app icons by WAKAI Kazunao (thanks!).
2266 * src/summaryview.c: summary_show(): fixed a bug that didn't process
2268 * src/account.c: account_edit_prefs(): fixed a crash bug when account
2270 * src/prefs_account.c: prefs_account_apply(): display error dialog
2271 if account name is empty.
2272 * src/imap.c: changed some log_print() to debug_print() to reduce
2277 * src/mh.c: mh_get_new_msg_filename(): new. It returns the filename
2281 mh_do_move_msgs_with_dest()
2283 mh_copy_msgs_with_dest(): use mh_get_new_msg_filename().
2284 * src/utils.[ch]: added is_file_entry_exist() which returns TRUE
2285 if stat() succeeded.
2287 imap_fetch_msg(): SELECT mailbox before FETCH if required.
2288 imap_scan_folder(): set last_num using the value of UIDNEXT.
2289 imap_select(): return immediately if there is no need for SELECT.
2290 preserve the path of currently selected mailbox.
2291 imap_status(): added UIDNEXT.
2295 * src/folder.c: folder_item_scan(): removed the warning.
2296 * src/inputdialog.[ch]: input_dialog_combo(): added an argument for
2297 setting case sensitivity.
2301 * src/mainwindow.c: main_window_create(): restrict the minimum size.
2305 * src/compose.c: merged the new line-wrapping routine.
2306 join_next_line(): fixed a bug that didn't join multibyte
2308 get_indent_length(): modified enums and variable names.
2309 INDENT_CHARS: don't indent ':'.
2311 folderview_rename_folder_cb()
2312 folderview_delete_folder_cb(): support folder identifier.
2313 folderview_rm_imap_folder_cb(): integrated with
2314 folderview_delete_folder_cb().
2318 * src/folder.[ch]: folder_item_scan(): return -1 if scanning failed.
2319 * src/folderview.c: folderview_check_new(): abort checking if
2320 folder_item_scan() failed.
2324 * src/imap.c: imap_create_missing_folders(): create only INBOX and
2326 * src/prefs_folder_item.c: prefs_folder_item_set_dialog(): made the
2327 type of news folders unchangeable.
2328 prefs_folder_item_destroy(): use prefs_dialog_destroy().
2329 * src/prefs.[ch]: prefs_dialog_destroy(): new.
2333 * src/prefs_account.[ch]: added special folder setting to Advanced
2334 tab. Also moved "IMAP server directory" setting to there.
2335 * src/account.[ch]: account_get_special_folder(): new. It returns
2336 the optimal special folder for accounts.
2337 * src/compose.c: use account_get_special_folder().
2338 * src/prefs_folder_item.[ch]: new. Implemented folder property
2339 dialog, and the special folder settings (most of the functions in
2340 claws are not integrated yet, and the structure is slightly
2342 * src/folderview.c: enabled Property menu.
2346 * src/textview.c: IS_RFC822_CHAR(): make email parser also stop
2347 scanning when encountering separators ',' and ';'.
2351 * src/mainwindow.c: reorderd the menu a bit.
2352 * src/compose.c: made 'Ctrl-Enter' ignore some modifiers.
2353 compose_reply_set_entry(): made 'Reply to sender' work for
2358 * src/compose.c: compose_create(): set geometry hints to restrict
2359 the maximum size of window.
2360 * src/imap.c: imap_parse_list(): don't mark INBOX as \Noselect.
2361 imap_get_uncached_messages()
2362 imap_cmd_fetch(): ignore responses which don't include FETCH.
2366 * COPYING: re-licensed (removal of "NO-VIRUS CLAUSE" and addition of
2367 the clause for OpenSSL).
2371 * src/prefs_account.c
2372 src/smtp.[ch]: fixed a bug that didn't complie with OpenSSL enabled.
2378 src/session.[ch]: first reorganization of SMTP protocol handling.
2379 SMTPSession: new class which is a sub class of Session.
2380 smtp_session_new(): moved send_smtp_open() into this function.
2381 smtp_from(): moved SMTP AUTH calls into smtp_auth().
2382 smtp_auth(): use server response for SMTP AUTH method.
2383 smtp_ehlo(): read server response and set auth type flags.
2384 smtp_helo(): separated EHLO command.
2385 smtp_ok(): return the last server response if the buffer is
2387 * src/esmtp.[ch]: merged into smtp.[ch].
2388 * src/imap.c: imap_session_destroy_all(): use session_destroy().
2392 * src/imap.c: imap_open(): show warning message if IMAP4 session
2393 can't be established.
2397 * src/compose.c: made template able to be inserted into the current
2399 * src/mainwindow.c: moved some menu items under the submenu
2400 '/View/Show or hide'.
2405 src/inc.c: changed folder_find_item_from_path() to
2406 folder_find_item_from_identifier().
2408 src/prefs_filter.c: use folder_item_get_identifier() to specify
2413 * src/folder.[ch]: implemented "folder identifier" (and fixed a bug
2414 existed in claws' implementation).
2415 folder_find_from_name(): find Folder from name and type.
2416 folder_get_identifier(): return Folder id.
2417 folder_item_get_identifier(): return FolderItem id.
2418 folder_find_item_from_identifier(): find FolderItem from id.
2419 folder_get_type_string(): return folder type string.
2420 folder_get_type_from_string(): return FolderType from string
2421 (and fixed the wrong g_strcasecmp() usage).
2423 src/import.c: use folder_item_get_identifier() and
2424 folder_find_item_from_identifier().
2428 * src/imap.c: imap_parse_atom(): fixed a bug that cur_pos didn't
2429 point the correct address after reading the continuous line.
2430 imap_scan_folder(): set new number to 0 if unseen number is 0.
2431 imap_parse_flags(): don't add new and unread flag if \Seen flag
2433 * ac/Makefile.am: removed gpgme.m4 from MACROS.
2437 * fixed the old problem that couldn't add flags to currently opened
2440 compose_send(): update outbox after saving.
2442 compose_draft_cb(): use procmsg_add_flags().
2443 * src/folder.[ch]: added "opened" flag and "mark_queue" list to
2445 * src/main.c: send_queue(): send from all queue folders.
2446 * src/mainwindow.c: send_queue_cb(): send from all queue folders.
2448 procmsg_flush_mark_queue(): new. Write all queued flags into file.
2449 procmsg_add_flags(): new. Add specified flags to the folder.
2450 procmsg_send_queue(): added an argument to specify queue folder.
2451 procmsg_save_to_outbox(): use procmsg_add_flags().
2452 * src/summaryview.c:
2453 summary_show(): up the opened flag of FolderItem.
2454 summary_clear_list(): down the opened flag of FolderItem.
2455 summary_write_cache(): call procmsg_flush_mark_queue().
2459 * src/summaryview.[ch]: trim the tail of folder name and selected
2460 number on the status label if the space is not enough.
2464 * src/imap.c: imap_create_special_folder(): fixed a bug that didn't
2465 set SpecialFolderItemType when creating special folders under
2467 * ac/gpgme.m4: removed.
2469 * ac/missing/gdk-pixbuf.m4
2470 ac/missing/gettext.m4
2472 ac/missing/imlib.m4: added for convenience.
2476 * src/esmtp.c: esmtp_auth(): fixed a bug that some garbages are
2477 shown after the decoded challenge string. Fixed a memory leak.
2479 * src/compose.c: compose_draft_cb(): mark draft messages as read.
2480 * src/folderview.c: folderview_update_node(): disable emphasis
2481 for Outbox and Draft folders.
2485 * src/messageview.c: messageview_show(): fixed a memory leak.
2486 * src/summaryview.c: summary_save_as(): show error dialog if copy
2488 * src/about.c: about_show(): make the window active if it is already
2493 * src/compose.c: show confirmation dialog before sending if Subject
2495 compose_check_entries(): new.
2497 compose_send_later_cb(): use compose_check_entries().
2498 * src/imap.c: imap_parse_atom(): more fix for parsing responses.
2502 * src/imap.c: imap_parse_atom(): fixed a bug that didn't parse the
2503 responses with continuous line correctly, and fixed a memory leak.
2507 * src/undo.c: undo_insert_text_cb(): fixed a crash bug if the text
2509 * src/gtkstext.c: gtk_stext_button_press(): cancel current selection
2510 after pasting with middle button to prevent the selection growth.
2515 folderview_rename_folder_cb()
2516 folderview_delete_folder_cb(): modify filter rules only if the
2517 target folder is in the default mailbox.
2518 * src/utils.c: get_abbrev_newsgroup_name(): removed a redundant
2525 src/prefs_common.c: changed 'Tool' menu to 'Tools'.
2526 Moved 'Delete duplicated messages' under 'Tools'.
2530 * src/folderview.c: SET_SPECIAL_FOLDER(): keep the same parent
2532 * src/imap.c: imap_create_special_folder(): fixed a crash bug
2533 when folder creation failed, and re-try to create folders under
2535 imap_scan_tree_recursive(): don't automatically add namespace
2536 prefix if it's INBOX. Search also under the INBOX for special
2538 * src/foldersel.c: SET_SPECIAL_FOLDER(): keep the same parent
2543 * src/utils.[ch]: get_abbrev_newsgroup_name(): new. It returns the
2544 abbreviated newsgroup name.
2545 * src/folderview.c: folderview_update_node(): display newsgroups
2546 with abbreviated name if name and path is the same.
2547 * src/summaryview.c: summary_status_show(): show the newsgroup with
2553 src/folderview.c: changed the label 'Draft' to 'Drafts'.
2554 * src/imap.c: changed the directory name 'Draft' to 'Drafts'.
2555 imap_create_missing_folders(): fixed the wrong assignment of
2556 Queue folder to draft.
2560 * enabled Sent / Draft / Queue folders on IMAP server.
2561 * src/compose.c: compose_queue(), compose_draft_cb(): use account's
2562 queue and draft folder if they exist.
2564 imap_create_trash(): removed.
2565 imap_create_special_folder(): new. Generalized imap_create_trash().
2566 imap_create_missing_folders(): automatically create missing folders.
2567 imap_is_msg_changed(): added the dummy method.
2568 imap_scan_tree_recursive(): search also Sent, Draft and Queue
2569 folders. Minor code cleanups.
2570 imap_parse_envelope(): check for null strings.
2571 src/procmsg.c: procmsg_read_cache(): add F_QUEUE or F_DRAFT flag
2572 for messages on IMAP folder.
2576 * src/compose.c: compose_send(): use account's outbox folder
2578 * src/procmsg.[ch]: procmsg_save_to_outbox(): changed the API so
2579 that the outbox can be specified.
2583 * src/compose.c: don't save to outbox when messages are queued.
2584 compose_save_to_outbox(): moved to procmsg.c.
2585 * src/procmsg.[ch]: procmsg_send_queue(): save to outbox when
2587 procmsg_save_to_outbox(): new. Removes the queueing headers if
2588 needed, and adds the given file to the outbox.
2592 * src/compose.c: compose_wrap_line(): treat '|' also as quote char.
2593 get_indent_length(): treat ':' and '#' also as quote char, and
2594 cleaned up using strchr().
2598 * src/mainwindow.c: modified some menu items.
2602 * src/defs.h: changed OUTBOX_DIR from "outbox" to "sent"
2603 (current "outbox" will be kept until rescan).
2604 * src/folder.c: folder_set_missing_folders(): create the missing
2607 src/folderview.c: changed 'Outbox' to 'Sent'.
2608 * src/main.c: call folder_set_missing_folders().
2609 * src/mh.c: mh_scan_tree(): create missing folders.
2610 * src/summaryview.c: summary_set_menu_sensitive(): fixed a bug that
2611 didn't set the menu sensitivity correctly.
2616 src/imap.[ch]: implemented folder renaming on IMAP (thanks to Mio).
2617 folderview_rename_folder_cb(): reopen the current folder when
2618 the ancestor is renamed.
2619 imap_rename_folder(): new method implementation.
2621 imap_rename_folder_func(): new.
2622 imap_remove_folder(): remove also the cache directory.
2626 * src/imap.c: implemented locale encoding <-> modified utf-7
2627 conversion, and supported i18n of folder name (thanks to Suzuki
2629 imap_path_separator_subst(): handle the escape characters of
2631 imap_modified_utf7_to_locale()
2632 imap_locale_to_modified_utf7(): new.
2633 imap_create_trash(): modified so that it create the Trash folder
2634 to the correct location when imap directory is specified.
2635 imap_get_real_path(): removed debug print.
2639 * src/socket.c: implemented timeout for DNS lookup and connect().
2640 sock_connect_by_hostname(): timeout support and code cleanup.
2641 sock_connect_with_timeout(): new.
2642 sock_peek(): implemented SSL peek.
2646 * src/messageview.c: messageview_show(): display single-part
2647 text/html messages with the normal text view.
2661 src/prefs_customheader.c
2662 src/prefs_display_header.c
2677 src/xml.c: added 'b' to the option of all fopen().
2685 * src/ssl.[ch]: match its coding style.
2686 * src/compose.c: compose_send_later_cb(): fixed a bug that failed
2690 faq/en/sylpheed-faq*.html
2692 faq/es/sylpheed-faq*.html
2694 faq/fr/sylpheed-faq*.html
2700 src/manual.[ch]: added FAQs in English, Spanish and French.
2704 * manual/en/sylpheed*.html: updated to the latest version.
2709 src/mgutils.c: include string.h to remove warning about strlen()
2723 src/summaryview.c: added break to the last label of switch to
2724 prevent the 'deprecated use of label at end of compound statement'
2726 * src/rfc2015.c: passphrase_cb(): fixed the type of r_hd.
2730 * src/inc.[ch]: preserve the pointer to IncProgressDialog to the
2732 inc_cancel_all(): new. It cancels the all current incorporation.
2733 * src/mainwindow.c: added 'Cancel receiving' menu.
2734 * src/textview.c: a minor fix for single-part MIME messages, and
2735 a bit of cleanup for textview_write_body().
2739 * src/inc.c: inc_write_uidl_list(): fixed a bug that lost UIDL
2740 information if any errors occured before issuing UIDL command.
2741 src/inc.h: added uidl_is_valid to Pop3State.
2742 src/pop.c: set uidl_is_valid to TRUE if UIDL becomes valid.
2750 * src/mimeview.c: mimeview_create(): set the initial notebook page
2752 * src/folderview.c: folderview_selected(): scroll the view if the
2753 selected row is hidden.
2754 * src/prefs_filter.c: prefs_filter_register_cb(): scroll the view
2755 and select the added row.
2756 * src/summaryview.c: fix threading for null message ids.
2760 * src/textview.c: textview_show_message(): follow message/rfc822
2762 textview_add_part(): add a caption before the attached text files.
2763 textview_show_header(): don't add the newline.
2764 * src/messageview.c: enabled message search also in MIME mode.
2768 * src/messageview.c: messageview_show(): set header state of
2769 MimeView's TextView, too.
2770 * src/mimeview.c: mimeview_show_message(): call
2771 textview_show_message() to display message.
2772 * src/textview.c: textview_add_part(): new. It adds the content
2773 of message part without clearing the view.
2774 textview_show_message(): display all parts with appropriate
2776 textview_write_body(): separated from textview_show_part().
2781 src/prefs_common.c: added ISO-8859-15 to the codesets for
2782 displaying and sending.
2783 * src/codeconv.c: conv_codeset_strdup(): return NULL if code
2784 conversion failed, and made caller deal with it.
2785 * src/compose.c: compose_write_to_file(): show error dialog when
2786 code conversion failed, and let user select whether to send it
2788 * src/textview.c: textview_write_line(): show the original string
2789 if code conversion failed.
2793 * src/inc.c: get_spool(): fixed a bug that failed to unlock mbox
2794 if copy_mbox() failed (thanks to Alexander Kabaev).
2795 * src/prefs_account.[ch]: added separate user ID / password setting
2797 * src/send.c: send_message_smtp(): use separate user ID / password
2798 for SMTP AUTH if it is specified.
2803 src/pop.[ch]: refactored the UIDL management.
2804 store the information of messages into the array of Pop3MsgInfo
2805 structure, and do full scanning of not retrieved messages.
2811 src/mainwindow.c: set WMCLASS for window/dialog.
2812 * src/codeconv.c: conv_codeset_strdup(): return source string
2813 when jconv_alloc_conv() failed.
2817 * src/mh.c: mh_scan_tree_recursive(): changed the hardcoded directory
2824 src/summaryview.c: implemented the new notebook tab interface for
2826 * src/textview.[ch]: fixed line space related glitches.
2830 * src/prefs_filter.c:
2831 prefs_filter_rename_path()
2832 prefs_filter_delete_path(): fixed a crash when flt->dest was NULL.
2836 * src/recv.[ch]: cancel data receiving if RecvUIFunc returns FALSE.
2837 * src/pop.c: pop3_retr_recv(): fixed false 'No space' when cancelled
2839 * src/inc.c: inc_pop3_recv_func(): abort data receiving when
2840 cancelled, and fixed potential crash bug.
2841 * src/grouplistdialog.c: enabled cancelling of data receiving.
2842 * src/news.c: news_get_group_list(): destroy current session if
2847 * src/manage_window.[ch]: fixed a bug that caused crash when
2848 the main window was hidden.
2849 MANAGE_WINDOW_SIGNALS_CONNECT(): new macro.
2850 Monitor "unmap_event", "destroy" events.
2857 src/grouplistdialog.c
2861 src/message_search.c
2865 src/prefs_customheader.c
2866 src/prefs_display_header.c
2868 src/prefs_template.c
2869 src/summary_search.c
2870 src/summaryview.c: use MANAGE_WINDOW_SIGNALS_CONNECT() macro to
2871 connect signals for window management.
2875 * src/prefs_account.[ch]: added receive size limit option.
2876 * src/pop.c: skip messages larger than the limit size.
2877 LOOKUP_NEXT_MSG(): new macro.
2878 * src/compose.c: compose_attach_append(): check whether the file
2883 * src/rfc2015.c: commented out dump_mimeinfo() and dump_part().
2884 changed g_message()'s to debug_print() and g_warning().
2885 rfc2015_decrypt_message(): fixed a bug that duplicated message
2886 parts when decryption was failed/cancelled. And made some code
2888 * src/passphrase.c: made the dialog transient.
2889 * src/prefs.c: prefs_config_parse_one_line(): removed debug_print().
2894 src/procmsg.[ch]: fixed a bug that failed to parse multipart
2895 messages if GPGME was enabled.
2896 * src/rfc2015.c: commented out copy_gpgmedata_to_temp() which
2898 * src/prefs_account.c: prefs_account_privacy_create(): modified
2899 the vertical spacing.
2903 * src/menu.[ch]: menu_set_sensitive_all(): new.
2904 menu_set_insensitive_all(): made it a wrapper for
2905 menu_set_sensitive_all().
2906 * src/prefs_account.c:
2907 prefs_account_open()
2908 prefs_account_protocol_set_optmenu(): made the protocol type
2909 unchangeable after creating an account.
2910 * src/compose.c: compose_attach_parts(): traverse MIME tree to
2911 extract all attathed files from nested multipart MIME message.
2915 * src/procmsg.[ch]: procmsg_get_mark_sum(): added arguments to
2916 obtain minimum/maximum number, and to specify first number
2919 src/inc.c: enabled new message checking on news folder.
2920 * src/news.c: news_scan_group(): implemented. Guess new/unread
2921 message number from the response of GROUP command and the mark
2923 news_select_group(): return the total/first/last number.
2924 * src/prefs_account.c: prefs_account_receive_create(): modified
2925 the text of the 'Get all' check button.
2929 * src/account.c: made 'Get all' checkbox available for IMAP4 and
2931 * src/inc.c: corrected the argument of folderview_check_new().
2932 * src/prefs_account.c: modification for the "`Get all' checks for
2933 new mail on this account" checkbox.
2937 * src/folderview.[ch]:
2938 folderview_rescan_tree(), folderview_rescan_all(): renamed from
2939 folderview_update_tree() and folderview_update_all().
2940 folderview_update_all_node(): removed.
2941 folderview_check_new(): new. If the argument is NULL, it checks
2942 all local folders. If the arguments is specified, it checks
2943 the (local and remote) folder.
2946 inc_all_account_mail(): check also IMAP4 account.
2951 folderview_rename_folder_cb()
2952 folderview_delete_folder_cb(): modify the filter rules when folder
2954 * src/prefs_filter.[ch]:
2955 prefs_filter_rename_path(): new. It renames the destination paths
2957 prefs_filter_delete_path(): new. It deletes the filter rules if
2958 the destination paths matched.
2959 * thanks to Neill Miller for above.
2963 * src/compose.c: inherit attached files when forwarding or reediting
2964 (rewrote the code in claws branch).
2965 compose_attach_parts(): new. It extracts and attaches the files
2966 in the given message.
2967 compose_attach_append(): chnaged the types of arguments.
2968 * src/messageview.c: messageview_show(): moved the GPG decryption
2970 * src/procmsg.[ch]: procmsg_open_message_decrypted(): new.
2978 * src/summary_search(): summary_search_execute(): scroll the view
2979 when message view is hidden.
2983 * src/foldersel.c: foldersel_set_tree(): made different type of
2984 folders selectable in moving mode.
2985 * src/folderview.[ch]: folderview_update_msg_num(): compare the
2986 numbers with the CTree's labels, and don't update folder_item here.
2987 * src/imap.c: imap_move_msg(), imap_move_msgs_with_dest():
2988 implemented moving between different type of folders.
2989 * src/mh.c: SET_DEST_MSG_FLAGS(): new macro.
2990 mh_do_move(), mh_do_move_msgs_with_dest(): new (renamed previous
2991 mh_move_msg() and mh_move_msgs_with_dest()).
2992 mh_move_msg(), mh_move_msgs_with_dest(): implemented message
2993 moving between different type of folders.
2994 mh_copy_msg(), mh_copy_msgs_with_dest(): some code cleanups.
2995 * src/summaryview.c: summary_status_show(): update folder_item
2997 * po/POTFILES.in: removed reference to headerwindow.c.
2998 * src/summaryview.c: summary_step(): fixed the behavior on the
2999 head and tail of the list.
3003 * src/mainwindow.c: main_window_set_menu_sensitive(): set 'Show
3004 all header' toggle state from the property of the TextView.
3005 * src/summaryview.[ch]: made 'All header' toggle switch.
3006 Prohibited unnecessary menu update.
3007 summary_select_node(): added the argument 'do_refresh'.
3012 * src/utils.c: strsplit_with_quote(): remove quotation characters
3013 in the function (fix composer's external editor problem) (thanks
3014 to Stefaan A Eeckels).
3015 * src/mainwindow.[ch]: made 'Show all header' toggle switch.
3016 main_window_menu_callback_block()
3017 main_window_menu_callback_unblock(): new.
3018 main_window_set_menu_sensitive(): set the toggle status of
3020 show_all_header_cb(): read the status of toggle menu item.
3021 * src/mainwindow.[ch]: made 'Thread view' toggle switch.
3022 * src/prefs_common.c: prefs_keybind_apply_clicked(): removed
3027 * src/imap.c: imap_add_msg(): fixed a bug that didn't replace
3028 the path separator (thanks to Sergey Vlasov).
3029 * src/gtkutils.c: gtkut_editable_get_selection(): return NULL
3030 if the length of selection is zero.
3031 Fixed the assertion.
3032 * src/utils.c: str_open_as_stream(): return immediately if
3033 the length of str is zero.
3034 * src/headerwindow.[ch]: removed.
3036 src/inc.c: removed stale thread support codes.
3040 * src/procmsg.c: procmsg_open_message(): modified so that it
3041 returns the stream of decrypted message file if it exists
3042 (this fixes the failure of gpg decryption in messageview.c).
3052 src/prefs_template.c
3054 src/quote_fmt_parse.y
3056 src/utils.[ch]: if the part of the message text is selected, use
3057 it for quoted text instead of the entire message body (thanks to
3059 src/utils.[ch]: str_open_as_stream(): new. It returns an
3060 temporary stream for the given string.
3061 * src/main.c: added "--send" command line option.
3062 * src/compose.c: compose_reply_set_entry(): add From address to
3063 Cc if Reply-To and to_all are both specified.
3064 * Makefile.am: correct the Source: line in the RPM spec file in
3069 * src/procmsg.c: procmsg_open_message(): fetch message if the cache
3071 * src/foldersel.[ch]: foldersel_folder_sel(): added an argument
3072 that specifies the folder selection type.
3083 src/prefs_customheader.c
3085 src/summaryview.c: made it compile with C compilers other than gcc
3086 (thanks to Shawn Houston).
3090 * src/imap.c: imap_copy_msgs_with_dest(): fixed a bug on traversing
3092 * src/prefs_common.c: made the key binding setting separate dialog.
3093 * src/addressbook.c: addressbook_format_address(): add "" around
3094 the display name if it contains comma (thanks to Satoshi Watanabe).
3095 * src/addr_compl.c: get_complete_address(): add "" around the
3096 display name if it contains comma.
3097 get_address_from_edit(): handle the quotation character correctly.
3098 * src/addr_compl.c: get_complete_address()
3099 src/addressbook.c: addressbook_format_address(): fixed a bug that
3100 caused wrong text processing if the display name is empty.
3105 * src/compose.c: compose_exec_ext_editor_real(): replaced
3106 g_strsplit() with strsplit_with_quote().
3108 src/folderview.c: folderview_drag_motion_cb(): minor code cleanups.
3110 folderview_drag_motion_cb()
3111 folderview_drag_received_cb(): allow dropping into IMAP4 folder.
3112 * src/utils.c: get_file_size_as_crlf(): use fgets() instead of
3116 imap_copy_msgs_with_dest(): use imap_add_msg() if the source
3117 of the message is different from the current mailbox.
3118 Return the correct value.
3119 imap_cmd_append(): properly implemented the APPEND command.
3124 src/messageview.[ch]
3125 src/summaryview.[ch]
3126 src/textview.[ch]: show all headers in the message view, and don't
3127 use the header window anymore.
3129 src/prefs_common.c: changed the default shortcut of 'compose new
3132 src/summaryview.[ch]: summary_display_msg_selected(): new.
3133 Show the selected message if 'Show all header' is selected.
3135 src/sourcewindow.c: changed some procmsg_get_message_file_path()
3136 to procmsg_get_message_file() to be sure the message is
3138 * src/folderview.c: folderview_drag_motion_cb(): allow DnD from
3139 any folder to MH folder.
3140 folderview_drag_received_cb(): copy messages instead of moving
3141 if the source folder is news or IMAP.
3143 src/summaryview.c: allow copy from news folder.
3147 * src/prefs_common.c: prefs_other_create(): modified the design
3148 of the external command settings.
3149 prefs_keybind_apply_clicked(): made the Mew / Wanderlust keybind
3150 preset closer to the original.
3151 Added Mutt keybind preset.
3152 Also change the compose keybinds.
3153 * src/compose.c: modified some menu shortcuts.
3154 * src/codeconv.c: modified the locale_table for Thai encoding.
3158 * src/Makefile.am: added $(GPGME_CFLAGS) to INCLUDES.
3159 * src/prefs_common.c: prefs_interface_create(): modified the
3160 description for menu shortcut.
3164 * src/gtkutils.[ch]: added gtk_stext_clear().
3167 src/summaryview.[ch]: enabled multiple forwarding.
3168 * src/summaryview.c:
3169 summary_set_marks_selected(): set marks for all selected row.
3170 summary_reply(): moved from summary_reply_cb().
3171 * compose.[ch]: compose_forward(): modified so that it receives
3173 * src/mainwindow.c: cleanup for reply processing.
3174 * src/summaryview.c: summary_reply(): fixed a memory leak.
3175 summary_key_pressed(): removed hardcoded mark / mark as unread
3178 src/prefs_common.c: added mark / mark as unread shortcuts to
3183 * src/compose.c: compose_wrap_line_all(): wrap quoted part even
3184 if prefs_common.linewrap_quote is not set (it is only for
3185 auto-wrapping on reply).
3186 * src/prefs_account.c: prefs_account_open(): initialize tmp_ac_prefs
3187 when creating a new account.
3188 * src/mh.c: mh_get_msg_list(): use also st_ctime to detect
3190 * src/prefs_common.c: prefs_interface_create(): modified the
3191 description of key binds selector.
3195 * src/mimeview.c: fixed multiple dialog / moving by correcting
3196 button / key event processing.
3198 src/textview.c: pass some key press events to MimeView in MIME
3200 * src/prefs_filter.c: fixed a bug that didn't set the order of
3202 * src/prefs_common.c: prefs_keybind_apply_clicked(): fixed
3203 empty_menurc string.
3208 src/prefs_common.c: reorganized the menu shortcuts.
3209 Added 'View - Toggle summary view'.
3210 * src/summaryview.[ch]: summary_toggle_view(): made it public
3212 * src/prefs_common.[ch]: swapped the position of 'Shortcut key'
3214 * src/importldif.c: imp_ldif_delete_event(): fixed segfault when
3215 closing the dialog with window manager (in more appropriate way).
3216 * src/imageview.[ch]
3218 src/mimeview.c: fixed wrong scrolling position when switching
3219 between text and image parts. Also free the unrequired image
3220 (thanks to Sergey Vlasov).
3221 * src/prefs_common.c: disabled 'Go to inbox after receiving new mail'
3226 * src/prefs_common.c: implemented shortcut quick changer.
3227 * src/folderview.c: folderview_key_pressed()
3228 src/summaryview.c: summary_key_pressed(): removed some hardcoded
3234 procmime_get_mime_type()
3235 procmime_get_mime_type_table(): made the MIME type search case
3238 gtk_stext_delete_line(): delete newline on empty line.
3239 gtk_stext_delete_to_line_end(): delete newline if cursor is on
3241 (thanks to Yasuzaki Masayoshi.)
3246 src/gtkstext.[ch]: removed the hardcoded shortcuts in GtkSText,
3247 and made them customizable.
3248 * src/utils.[ch]: added get_file_size_as_crlf() which returns
3249 the file size when converting LF to CR+LF.
3253 * src/compose.c: enabled 'Ctrl-Enter' or
3254 'Ctrl-(other modifier keys)-Enter' shortcut that didn't work
3256 * src/gtkstext.c: disabled some Emacs key bindings.
3257 gtk_stext_key_press(): don't extend selection when Shift-Enter
3258 is pressed to prevent the disapperance of cursor.
3259 * src/summaryview.c: summary_select_next_unread(): added the button
3260 to search unread message again from the beginning to the dialog.
3261 * src/folderview.c: folderview_key_pressed(): go to next unread
3262 folder if space key is pressed on the empty folder.
3263 Move CTree focus before selecting row.
3267 * src/defs.h: modified the XLFD of default fonts.
3268 * src/textview.c: textview_create(): fixed a bug that caused
3269 segfault if font couldn't be loaded.
3271 src/grouplistdialog.c: compare subscribed groups with path.
3272 * src/prefs_filter.c: changed 'Operator' to 'Condition'.
3276 * src/compose.c: compose_wrap_line_all(): fixed wrapping crash
3277 when URL is wider than wrapping margin.
3279 src/prefs_filter.[ch]
3280 src/summaryview.[ch]: added "Create filter rule" function based
3281 on the patch from Luca Rosellini.
3282 * src/summaryview.c: summary_filter_open(): added X-List and
3283 X-Mailing-list to the automatically detected headers.
3287 * configure.in: support Mac OS X (Darwin).
3291 * src/prefs_filter.c: use inc_(un)lock() instead of
3292 inc_autocheck_timer_{remove|set}().
3293 * src/summaryview.c: summary_sort(): use gtk_ctree_sort_recursive()
3294 instead of gtk_ctree_sort_node() so that messages within threads
3296 * src/procmsg.c: procmsg_read_mark_file(): fixed a bug that the
3297 target of sizeof was wrong and caused crash on Alpha architecture
3298 (thanks to Motonobu Ichimura).
3303 foldersel_gnode_func(): made the names of special folders
3305 foldersel_set_tree(): move the special folder to the top.
3306 * src/inputdialog.[ch]: input_dialog_query_password(): new.
3310 src/send.c: use input_dialog_query_password() instead of their
3311 own query functions.
3315 * src/defs.h: modified the default font.
3319 src/news.[ch]: moved the class definition and some methods to
3320 the proper location.
3324 * src/mimeview.c: mimeview_save_as()
3325 src/summaryview.c: summary_save_as(): put the default filename
3326 based on the subject.
3327 * src/utils.[ch]: added subst_chars() and subst_for_filename()
3328 which substitute some special characters with underscore.
3329 * src/filesel.c: filesel_select_file(): select the default filename.
3334 INSTALL.jp: added the description and the URL for libjconv.
3335 * src/mainwindow.c: menu entries cleanup.
3341 src/about.c: modified the copyright year.
3342 * src/gtkstext.h: added the notice for modification by the Sylpheed
3348 INSTALL.jp: added the URL for compface.
3356 * src/headerwindow.c
3359 src/sourcewindow.c: set wmclass when creating windows.
3363 * src/compose.c: compose_wrap_line_all(): fixed the bug that
3364 caused infinite loop when wrapping certain patterns of quoted text.
3368 * src/imap.c: imap_parse_envelope(): put the assertion after
3369 imap_parse_address() to prevent segmentation fault.
3374 src/mainwindow.c: modified some labels of menu items.
3375 * src/ldif.c: put the return value of fgetc() in a gint.
3376 * src/importldif.c: don't brace null strings with _().
3377 * src/compose.c: moved the position of Subject entry to the last.
3378 Reorganized the menu.
3379 compose_draft_cb(): added 'keep editing after saving to draft'
3384 * src/mainwindow.c: reorganization of main menu. Removed 'Summary'
3385 menu. Moved 'Help' menu to just the right of 'Configuration'.
3386 Removed 'File - Close' menu item.
3390 * src/mainwindow.c: some menu reorganization.
3391 * AUTHORS: updated. Added more contributors.
3392 * src/account.c: account_row_moved(): new. Moves displayed row to
3393 the appropriate position when up / down button are pressed.
3394 account_clist_set(): move displayed row to the appropriate position.
3396 src/mainwindow.c: set title and wmclass when creating windows.
3400 * src/gtkstext.c: fixed a bug that didn't show block cursor
3401 correctly. Removed unnecessary GdkGC copy. Fixed cursor
3406 src/undo.c: modified to use GtkSText.
3407 * src/menu.h: added #include <gtk/gtkmenu.h>.
3412 configure.in: added XIM checking for GTK+.
3413 * src/gtkstext.[ch]: new. Copied GtkText in GTK+ and renamed.
3417 * src/filter.c: added #include <sys/types.h>.
3421 * src/template.c: template_write_config(): fixed a typo.
3422 * src/compose.c: toolbar_linewrap_cb(): call compose_wrap_line_all().
3424 src/prefs_filter.c: supported regular expression (thanks to
3426 * src/undo.c: undo_paste_clipboard_cb(): fixed a bug that broke
3427 undo state when pasted clipboard was empty.
3428 undo_check_size(): use g_list_last().
3430 undo_redo(): fixed NULL checking and made a bit of optimization.
3432 * src/prefs_common.c: changed the default value of linewrap length
3437 * reorganization of pixmap management.
3438 * src/stock_pixmap.[ch]: new. This module manages all static pixmaps.
3439 * modified every files which directly use pixmaps data to use
3441 * src/undo.[ch]: renamed undo_set_undo_change_funct() to
3442 undo_set_change_state_func(), and changed its argument from
3443 GtkWidget* to gpointer.
3444 undo_merge(): code cleanup.
3445 * src/compose.c: renamed compose_set_undo() to
3446 compose_undo_state_changed().
3450 * src/account.c: account_find_from_address(): made it case
3452 * src/addressbook.c: addressbook_create(): set wmclass.
3453 * src/compose.c: compose_insert_file(): supported DOS/Win/Mac line
3456 src/ldif.[ch]: merged from the claws branch.
3457 * src/importldif.c: removed some warnings.
3458 imp_ldif_field_list_toggle(): fixed button checking.
3459 imp_ldif_dialog_create(): minor layout fix.
3460 * src/ldif.c: removed some warnings.
3462 INSTALL.jp: updated confirmation list.
3465 vcard_test_read_file(): fixed a memory leak of tagtemp.
3466 Some code cleanups (decreasing the indent level).
3469 src/syldap.[ch]: disabled runtime library checking because JPilot
3470 and LDAP libraries are linked on the build time, and the program
3471 doesn't execute without them anyway.
3473 src/addrindex.c: changed "J-Pilot" to "JPilot".
3474 Removed warning for atoi().
3478 * src/procmsg.c: procmsg_empty_trash()
3479 src/mainwindow.c: main_window_empty_trash(): empty trash only if
3480 it contains some messages.
3481 * src/imap.c: search_array_str(): new.
3482 imap_status(): fixed a bug that didn't parse the command response
3487 * merged undo function (by Jens Oberender).
3488 * src/undo.[ch]: new.
3489 undo_insert_text_cb(): fix for multibyte characters (obtain the
3490 number of letters instead of bytes).
3491 * src/compose.[ch]: added the code for undo.
3492 * src/prefs_common.[ch]: added the interface for setting undo level.
3496 * src/compose.c: compose_template_apply()
3497 src/prefs_template.c: prefs_template_clist_set_row()
3498 src/template.c: template_write_config(): don't replace To: and
3499 Subject: entry in composition window if they are empty.
3507 * src/folderview.c: folderview_drag_motion_cb(): fixed a DnD bug.
3508 * src/ldif.c: ldif_get_line(): ignore CR.
3509 * src/mimeview.c: mimeview_show_message(): search also text/html
3510 for first text part.
3514 * src/prefs_account.c: prefs_account_save_config_all(): fixed a bug
3515 that didn't update accountrc if account_list == NULL (thanks to
3520 * src/utils.h: added the macro Xstrcat_a() that concatenates
3521 two strings and return alloca'd string.
3522 * src/imap.c: imap_scan_tree_recursive(): fixed a bug that didn't
3523 handle folder name which includes some spaces correctly
3524 (based on the patch from Willem van Engen (thanks!)).
3525 * src/compose.c: compose_wrap_line_all(): fixed the crash when
3526 wrapping long lines if linewrap quotation is disabled and
3527 a word spanning more than one line.
3531 * applied the Tobias' patch with modification (thanks!).
3533 imap_msg_set_perm_flags()
3534 imap_msg_unset_perm_flags(): new. They set permanent flags to
3537 src/summaryview.c: set flags on IMAP server when flags are changed.
3541 * src/gtkutils.[ch]: gtkut_container_remove(): new. It's a wrapper
3542 of gtk_container_remove() for workaround of a bug in
3543 Gtk{Text,Entry} (thanks to Sergey Vlasov).
3549 src/textview.c: replaced gtk_container_remove() with
3550 gtkut_container_remove(), and removed previous partial fix.
3554 * src/prefs_account.c: prefs_account_apply(): fixed a bug that
3555 checked user ID on "local", but didn't on IMAP4.
3556 * src/imap.c: imap_session_get(): fixed a crash bug when
3557 rfolder->session == NULL.
3558 * Makefile.am: changed the arguments of tar from 'chojf' to
3560 * src/summaryview.c: summary_toggle_view(): disclaim the selection
3561 of textview before removing vpaned.
3565 * src/messageview.c: messageview_change_view_type(): disclaim the
3566 selection before removing textview. This solves the mysterious
3567 copy-paste disability (thanks to Melvin Hadasht).
3568 * src/textview.c: textview_set_font(): use
3569 gtk_editable_claim_selection() instead of
3570 gtk_editable_select_region().
3574 * src/prefs_template.c: prefs_template_window_create(): supported
3575 address completion on the To: entry.
3580 folder_count_total_msgs()
3581 folder_count_total_msgs_func(): use g_node_traverse() to traverse
3586 * src/compose.c: fixed a bug that empty body was refused.
3587 * src/prefs_template.c: fixed a bug that didn't set To: entry
3588 correctly. Display error dialog if format is illegal.
3589 * src/prefs_common.c
3591 src/quote_fmt_parse.y: changed parenthesis "( )" to curly braces
3592 "{ }" to prevent confusion on using parenthesis.
3593 * src/html.c: html_get_parenthesis(): ignore CSS / script stuff.
3597 * src/prefs_template.c: added colon to the header labels.
3602 src/prefs_template.c
3603 src/template.[ch]: added To field to the template.
3607 * src/textview.c: textview_show_part(): use first found
3608 message/rfc822 header.
3609 * src/folderview.c: added "Search messages..." to the context menu.
3610 * src/prefs_common.c: prefs_quote_description_create(): added
3611 description for characters which need to be escaped.
3615 * src/compose.c: compose_wrap_line_all(): more merging from claws.
3616 GET_CHAR(): renamed GET_TEXT() and made it more generic.
3617 Modified compose_wrap_line() and compose_wrap_line_all() to use
3619 * src/textview.c: textview_show_part(): show the header of nested
3620 RFC822 attachment correctly.
3625 src/main.c: added --status option to get new, unread and total
3626 message count from a running Sylpheed (merged from claws).
3627 prohibit_duplicate_launch(): output '\n' only once.
3632 src/gtkutils.[ch]: merged the new wrapping function.
3633 gtkut_text_str_compare_n()
3634 gtkut_text_str_compare()
3635 gtkut_text_is_uri_string(): backport from the GtkSText in the
3636 claws branch, and made modification.
3637 * src/prefs_template.c
3638 src/template.[ch]: added Subject to the template.
3642 * src/compose.c: compose_write_headers(): added missing parenthesis
3643 that generated invalid custom header (thanks to Masaaki Noro).
3644 Allow Sender: custom header.
3648 * src/procheader.c: procheader_date_parse(): workaround for
3649 RFC-incompliant Date header.
3653 * src/addrbook.c: removed redundant functions, and fixed generation
3654 of spurious address book file names.
3655 * src/addrindex.c: V-Card -> vCard.
3659 * src/textview.c: get_email_part(): replaced isalnum() with
3660 the macro IS_ASCII_ALNUM() which restricts the range of
3661 characters to 7bit ASCII (thanks to Shimamoto).
3662 * src/utils.c: remote_tzoffset_sec(): workaround for malformed
3667 * src/textview.c: textview_show_part(): show headers on nested
3672 * src/imap.c: imap_session_get()
3673 src/news.c: news_session_get(): fixed segfault when reconnection
3675 * src/grouplistdialog.c: removed redundant code, and expand nodes
3676 that doesn't match the pattern.
3680 * src/compose.c: modified so that it sends message when any of
3681 To:, Cc:, Bcc:, or Newsgroups: fields have valid recipient.
3682 compose_check_for_valid_recipient(): new.
3683 * src/grouplistdialog.c: improved the UI.
3684 Added appropriate description and search button.
3685 Search doesn't get group list again.
3689 * src/news.[ch]: news_session_get(): update the last access time
3691 news_group_list_free(): new.
3692 * src/grouplistdialog.c: free resources correctly.
3697 src/grouplistdialog.[ch]: more merging of new newsgroup
3698 subscription dialog.
3699 * src/news.[ch]: renamed news_remove_group_list() to
3700 news_remove_group_list_cache().
3704 * src/defs.h: added MAX_ENTRY_LENGTH definition.
3705 * src/compose.c: compose_add_entry_field(): create new entry with
3710 * src/grouplistdialog.c: made non-leaf node selectable.
3711 Give the complete newsgroup name for each nodes.
3715 * src/grouplistdialog.c
3716 src/news.[ch]: merging of new newsgroup subscription dialog
3717 (still in progress. Don't use it yet!).
3721 * src/utils.[ch]: decode_uri(): new. It decodes URL-encoded strings.
3722 * src/compose.[ch]: compose_new_with_recipient(): accept mailto
3724 compose_entries_set(): new. It parses mailto URL and put each
3725 values into the entries.
3729 * src/compose.c: compose_forward(): fixed a bug that forward
3730 quote mark wasn't used (thanks to Hironori IWANE).
3733 src/prefs_common.c: added Thai encodings (thanks to Manrat
3738 * src/socket.c: sock_connect_by_hostname(): removed h_errno.
3742 src/news.c: added last_access_time to Session.
3743 imap_session_get(): check connection only when access interval
3752 * src/socket.c: ssl_gets(): use SSL_peek.
3753 * updated NEWS and AUTHORS.
3754 * Makefile.am: fixed release target.
3758 * src/template.c: changed the format of template file to
3760 * src/compose.c: compose_template_apply(): freeze the text widget
3761 while inserting strings.
3765 * po/POTFILES.in: removed src/template_select.c.
3766 * src/summaryview.c: summary_set_header()
3767 src/address.c: address_parse_str()
3768 src/filter.c: filter_read_str()
3769 src/news.c: news_parse_xover()
3770 src/procheader.c: procheader_get_fromname()
3771 src/utils.c: subject_compare():
3772 replaced Xalloca() + strcpy() with Xstrdup_a().
3773 * src/inputdialog.[ch]: added combo mode.
3774 input_dialog_combo(): new.
3775 * src/prefs_common.[ch]: added MIME open command setting.
3776 prefs_common_{read, save}_config(): read / write command history.
3777 * src/mimeview.c: mimeview_open_with(): use combo input dialog.
3778 * src/utils.[ch]: add_history(): history list management function.
3782 * src/compose.c: select templates from the menu.
3783 compose_set_template_menu(): new.
3784 compose_reflect_prefs_all(): new.
3785 compose_template_apply(): new. Use dummy MsgInfo for parsing.
3786 * src/template.[ch]: store template list to the static heap.
3787 template_get_config(): new.
3788 template_set_config(): new.
3789 * src/prefs_template.c: don't store template list to the global area.
3790 * src/template_select.[ch]: removed.
3791 * src/quote_fmt_parse.y: check folderitem when quoting messages.
3792 * src/mh.c: mh_add_msg(): try to copy file whenever link() failed
3793 (thanks to OSHIRO Naoki).
3797 * src/utils.[ch]: get_template_dir(): new.
3798 * src/template.c: use get_template_dir().
3802 * src/prefs_template.c: modified the dialog layout.
3803 Added symbol description button.
3804 * src/summaryview.c: show an arrow mark to the column of the sort
3806 summary_set_column_titles(): new.
3812 TODO.jp: updated the documents.
3816 * src/Makefile.am: add missing checkbox_{on, off}.xpm.
3817 * src/textview.c: textview_key_pressed()
3818 src/mimeview.c: mimeview_key_pressed()
3819 src/summaryview.c: summary_key_pressed(): delete messages with
3824 * src/socket.c: ssl_gets(): fixed a bug that caused infinite loop
3825 when SSL_read() returned 0.
3826 * src/utils.[ch]: strcrchomp(): new. It removes CR from the tail
3828 * src/quote_fmt_parse.y: convert CRLF to LF when inserting messages.
3829 Add prototype of yylex() to suppress the warning.
3830 * merged the template function.
3831 * src/prefs_template.[ch]
3833 src/template_select.[ch]: new.
3834 Renamed prefs_templates_* -> prefs_template_*.
3835 * src/compose.c: added template menu. Added replyinfo to Compose.
3836 * src/mainwindow.c: added template setting menu.
3837 * src/quote_fmt_lex.l: output literal tab and return as is.
3838 * src/prefs_common.c: changed the pref. name of quote format to
3839 'reply_quote_{mark, format}' and 'fw_quote_{mark, format}'.
3843 * src/prefs_common.[ch]: added Quote tab, and moved the quote
3844 setting from Compose tab.
3845 * merged the new quote format parser.
3846 * src/quote_fmt_lex.h
3849 src/quote_fmt_parse.y: new files for quote format parser.
3850 * configure.in: added checks for lex and yacc.
3851 * src/compose.c: compose_quote_file(), compose_quote_parse_fmt():
3853 compose_quote_fmt(): new.
3854 * src/prefs_common.[ch]: added forward format setting to the
3855 Quote tab. Updated the quote description dialog.
3856 * src/quote_fmt_parse.y: fixed bugs that tried to read file even
3857 if they couldn't get text part.
3861 * src/pixmaps/checkbox_off.xpm
3862 src/pixmaps/checkbox_on.xpm: new.
3863 * src/account.c: display `get all' status with the checkbox pixmaps.
3867 * src/send.c: code cleanup. Pass account prefs structure instead
3869 Query password for SMTP AUTH if not specified (thanks to Mio).
3873 * src/procheader.c: procheader_parse(): fixed a bug that didn't
3874 parse multiple message-id in In-Reply-To: header correctly
3875 (thanks to KAJIWARA).
3879 * src/account.c: enabled 'Get all' setting by clicking the 'G'
3880 column of account list, and added some description.
3881 * src/prefs_common.c: prefs_send_create(): added a description
3882 for outgoing codeset.
3886 * src/prefs_account.[ch]: moved inbox entry to the receive tab,
3887 and added select button and short description.
3888 * src/Makefile.am: added SYSCONFDIR to CPPFLAGS.
3890 procmime_get_mime_type_table()
3891 procmime_get_mime_type_list(): modified so that
3892 $(SYSCONFDIR)/mime.types (or /etc/mime.types if not found) and
3893 $(HOME)/.sylpheed/mime.types are read.
3897 * src/prefs_account.c: moved the address auto-setting to the compose
3899 prefs_account_create(): removed gtk_widget_show_all() for proper
3901 * src/prefs_common.c: changed "Program path" to "Command".
3905 * src/textview.c: textview_set_font(): support Russian charset
3907 * src/summaryview.c: summary_delete(): (hopefully) fixed the crash
3911 prefs_summary_column.c: minor improvements to the English.
3912 * src/main.c: get_queued_message_num(): don't output the warning
3913 when queueing folder is not found.
3921 * src/prefs_summary_column.[ch]:
3922 made prefs_summary_column_get_config() public.
3923 * src/summaryview.c: summary_ctree_create(): some code cleanup.
3924 * configure.in: moved the position of SSL checking after LDAP
3925 for linking problem.
3930 src/summaryview.c: allowed reedit in the outbox.
3931 * src/prefs_summary_column.[ch]: new. UI for setting summary
3933 * src/mainwindow.[ch]: main_window_set_summary_column(): new.
3934 It calls summary_set_column_order().
3935 * src/summaryview.[ch]:
3936 summary_ctree_create(): new. separated from summary_create().
3937 summary_set_column_order(): new. It destroys the current
3938 CTree and replaces it with the new one.
3942 * src/smtp.[ch]: smtp_from(): abort if auth failed.
3943 * changed C++-style comments into C-style in some files, and
3944 removed unnecessary commented out codes.
3945 * src/addrcache.[ch]
3949 src/syldap.[ch]: updated the addressbook code, and fixed the
3952 src/importldif.[ch]: new.
3956 * src/about.c: added some items to compiled-in features.
3957 * src/addr_compl.c: changed LOG_MESSAGE to debug_print.
3958 * src/addressbook.c: changed "V-Card" to "vCard".
3959 addressbook_edit_address_cb(): added
3960 invalidate_address_completion() to the point address is changed.
3961 * src/codeconv.c: changed C++-style comments into C-style.
3965 * src/compose.c: changed "Send" shortcut to Ctrl+Enter.
3969 * src/inc.c: fixed a bug that crashed sylpheed if Cancel button
3974 * src/procmsg.c: procmsg_get_thread_tree(): complete the unfinished
3976 * src/summaryview.c:
3977 summary_thread_init(): separated from summary_thread_build().
3978 summary_thread_build(): removed the codes for initialization.
3979 summary_set_ctree_from_list(): call summary_thread_init() instead
3980 of summary_thread_build().
3981 summary_filter(): fixed a bug that didn't moved messages despite
3982 of immediate execution setting.
3986 * src/procmsg.c: procmsg_get_thread_tree(): new. It generates the
3987 reversed thread tree from message list.
3988 * src/summaryview.c: summary_set_ctree_from_list(): prepend the
3989 node to the head instead of appending to the tail. This prevents
3990 the traverse of node list inside of the GtkCTree, and considerably
3991 speeds up the summary display (the order is O(n^2) -> O(n)).
3995 * src/prefs_common.c
3996 src/summaryview.[ch]: initial modification for reorderable columns.
4000 * src/procmsg.c: procmsg_get_mark_sum(), mark_sum_func(): fixed a
4002 * src/folderview.c: folderview_button_pressed(): code cleanup, and
4003 turn sensitivity off if main window is locked.
4004 * src/syldap.c: syldap_read_data(): removed unnecessary and
4005 unportable sched_yield().
4009 * src/folderview.c: renamed "Update folder tree" context menu to
4010 "Rescan folder tree", and made "Update folder tree" only updates
4012 folderview_update_all_node(): don't show message dialog.
4013 * src/gtkutils.c: gtkut_widget_get_uposition()
4014 src/mainwindow.c: main_window_popup(): clip the coordinate to
4019 * src/utils.c: to_human_readable(): made a bit of optimization.
4020 * src/summaryview.c: summary_delete(): fixed a focus problem.
4021 summary_find_{prev,next}_msg(): new. They find previous/next
4022 message that is not deleted.
4023 * src/prefs_filter.c: scroll CList automatically if moved row
4024 becomes not fully visible.
4028 * updated some autotool scripts.
4029 * src/codeconv.c: conv_encode_header(): fixed a bug that caused
4030 infinite loop when failed to convert encoding.
4031 * src/codeconv.[ch]: a fix for older version of libjconv
4032 (jconv_info_get_current_codeset() returned "EUCJP" instead of
4041 * src/compose.c: compose_write_to_file()
4042 src/codeconv.c: conv_codeset_strdup(): more workaround for
4043 libjconv problem on C locale.
4044 * src/editldap_basedn.c: fixed segfault when opening dialog.
4045 * src/utils.c: is_next_mbs()
4046 src/compose.c: compose_wrap_line(), compose_wrap_line_all():
4047 changed MB_CUR_MAX to MB_LEN_MAX for compliance to ANSI C.
4048 * configure.in: increased the reqired version of GPGME to 0.2.3.
4049 * src/pop.c: pop3_getauth_user_recv(): fixed a bug that closed
4050 the receive dialog when POP3 server refused normal authentication.
4054 * src/prefs_common.c: prefs_receive_create(): correction to English.
4055 * src/compose.c: compose_set_ext_editor_sensitive(): fixed a bug
4056 that didn't set the menu sensitivity correctly (thanks to
4058 * src/summaryview.c: delete messages permanently if the current
4059 folder is trash and 'delete' operation is executed.
4060 Fixed the bug that didn't select the last row correctly (thanks
4061 to Alfons Hoogervorst).
4062 * src/folder.[ch]: folder_item_remove_msgs(): new. It removes
4063 all messages given in the list.
4067 * src/summaryview.c: summary_show(): fixed a bug that didn't show
4068 message even if the 'open unread message on entering folder'
4069 option was turned on.
4073 * src/procmime.c: procmime_get_text_content(): supported HTML.
4077 * src/summaryview.[ch]: implemented new locking mechanism, and
4078 replaced every static locks with summary_lock(), summary_unlock(),
4079 and added locks to some extra functions.
4080 This fixes a bug that caused segfault when 'd' (delete) key
4085 * src/addressbook.c: addressbook_folder_load_person(): fixed a bug
4086 that caused segfault (thanks to Stefaan A Eeckels).
4090 * src/textview.[ch]: added textview_set_position().
4091 * src/messageview.[ch]: added messageview_set_position().
4103 src/editldap_basedn.c
4108 src/vcard.c: converted C++-style comments into C-style one.
4109 * src/imap.c: QUOTE_IF_REQUIRED(): new macro. Copy string into
4110 new buffer and quote with double quotes if required.
4111 imap_status(), imap_cmd_login(), imap_cmd_list(),
4112 imap_cmd_do_select(), imap_cmd_create(), imap_cmd_delete(),
4113 imap_cmd_copy(): use QUOTE_IF_REQUIRED().
4114 * compose.c: compose_write_to_file(): workaround for the problem
4115 when using libjconv and 8bit codes cannot be converted on C
4117 * codeconv.[ch]: added "ANSI_X3.4-1968" to encoding strings.
4118 conv_codeset_strdup(): don't convert if source and destination
4119 codeset are identical.
4123 * src/textview.[ch]: textview_search_string_backward(): new.
4124 Add the new member cur_pos to TextView.
4125 Connect button_press_event with gtk_signal_connect_after() to
4126 obtain the correct editable position.
4130 * src/folder.c: folder_write_list_recursive(): preserve unthreaded
4135 * src/summaryview.c: modified the layout of popup menu.
4142 src/summaryview.c: applied the patch from Alfons that allows
4143 threading setting for each folders (tnanks!).
4147 * src/message_search.[ch]: new. A Dialog for searching in current
4149 * src/gtkutils.[ch]: gtkut_text_match_string(): new. Compare the
4150 text in current position of GtkText and given wide-character
4152 * src/messageview.[ch]: messageview_search_string()
4153 src/textview.[ch]: textview_search_string(): return TRUE if
4155 * src/textview.[ch]: remember the beginning of body.
4159 * src/procmime.c: procmime_get_first_text_content(): modified so
4160 that it search entire MIME structure.
4161 * src/summary_search.c: summary_search_execute(): use
4162 strdup_mbstowcs() instead of macro. Display matched message.
4166 * src/inc.c: fix for background POP3 hangs and crashes (thanks to
4168 * src/summary_search.c: added body searching function.
4169 * src/procmime.[ch]: procmime_find_string(): changed arguments
4170 and return value. Added case sensitivity option.
4174 * src/procmime.[ch]:
4175 procmime_find_string()
4176 procmime_find_string_part(): new. It searchs the string from
4178 Renamed procmime_get_text_part() to
4179 procmime_get_first_text_content().
4180 procmime_get_text_content(): new. It returns the text contents
4181 of the specified MIME part.
4182 procmime_mimeinfo_next(): new. It returns the next node of
4187 * src/procmime.c: procmime_get_text_part(): modified so that it
4188 finds a text part in nested multipart message correctly.
4189 * src/procmime.h: added an example of MimeInfo structure.
4190 * src/mimeview.c: mimeview_show_message(): search the first text
4195 * src/mainwindow.c: ac_menu_popup_closed(): fixed the bug that
4196 caused segfault. Changed 'Preferences per account...' menu item.
4204 * src/addrindex.c: translate the "Common address" and "Personal
4205 address" from old addressbook.
4209 * src/utils.c: get_quote_level(): some optimization and bugfixes.
4210 * src/codeconv.[ch]: conv_get_current_locale(): new.
4211 * src/editaddress.c: edit_person_page_basic(): reverse the order
4212 of first and last name on some locales.
4216 * src/compose.c: applied the patch from Yasumatsu that reformats
4217 the current paragraph (thanks!). Modified so that it doesn't
4218 reformat quoted paragraphs.
4219 compose_create(): don't fill the entry automatically on reedit
4222 src/summaryview.[ch]: added the "Mark all read" option.
4223 summary_mark_all_read(): new.
4231 src/editldap_basedn.c
4233 src/editjpilot.c: removed all warnings.
4235 src/jpilot.[ch]: fixed the problem that failed to detect JPilot
4236 header files on the Debian system.
4238 src/summaryview.[ch]: enabled sorting by mark, unread, attachment,
4239 and color label. Enabled moving to next/prev flagged messages.
4243 * src/pixmaps/dir-close.xpm
4244 src/pixmaps/dir-open.xpm
4246 src/pixmaps/unread.xpm: modified the color balance.
4247 * src/utils.[ch]: execute_sync(): new.
4248 execute_command_line(): added the arg for async mode.
4249 * src/inc.c: inc_mail(): use execute_command_line().
4254 src/prefs_common.[ch]
4255 src/prefs_account.c: modified the layout. Added the option to
4256 launch the external editor automatically.
4257 * src/compose.c: launch the external editor automatically if the
4262 * src/Makefile.am: added extra xpm's.
4266 * src/addressbook.c: fixed a compilation problem when enabling
4268 addressbook_open(): fixed a missing 'else'.
4272 * src/pixmaps/dir-close.xpm
4273 src/pixmaps/dir-open.xpm
4274 src/pixmaps/trash.xpm: replaced with the new blue icons.
4275 * merged Match Grun's new addressbook code.
4276 * src/pixmaps/address.xpm
4277 src/pixmaps/book.xpm
4278 src/pixmaps/category.xpm
4279 src/pixmaps/interface.xpm
4280 src/pixmaps/jpilot.xpm
4281 src/pixmaps/ldap.xpm
4282 src/pixmaps/vcard.xpm: new icons.
4286 src/addressitem.[ch]
4289 src/editaddress.[ch]
4294 src/editldap_basedn.[ch]
4299 src/vcard.[ch]: new. Many fixes to remove the huge amount of
4301 addrbook_build_avail_email_vis(): fixed a memory leak.
4305 * NEWS: brought in the all of the changes previously put on the web.
4310 src/summaryview.c: modified the layout of menus.
4311 * src/mainwindow.c: ac_menu_popup_closed(): fixed a bug that didn't
4312 return a focus to the main window after selecting the account menu.
4320 * src/send.c: send_message_data(): fixed a bug that didn't process
4321 body part correctly.
4325 * src/inc.[ch]: changed inc_autocheck_(un)lock() to inc_(un)lock().
4326 inc_mail(), inc_all_account_mail(): return immediately if locked.
4329 src/prefs_account.c: use inc_lock() and inc_unlock() instead of
4330 inc_autocheck_timer_{remove,set}().
4331 * src/summaryview.c: summary_set_colorlabel_color(): get the average
4332 of label color and selected fg color for visibility.
4336 * src/inc.[ch]: inc_autocheck_lock(), inc_autocheck_unlock(): new.
4337 They increase/decrease the lock count.
4338 inc_autocheck_func(): if locked, delay the autochecking 1 second.
4339 inc_autocheck_timer_set_interval(): set interval by its argument.
4340 * src/summaryview.c: summary_show(): lock the autochecking while
4342 * src/main.c: app_will_exit(): remove autocheck timer.
4344 src/defs.h: removed the definitions of PACKAGE and VERSION to
4345 prevent unnecessary compilation.
4346 * configure.in: changed AC_DEFINE_UNQUOTED of PACKAGE and VERSION
4347 to AC_SUBST, and added src/version.h to AC_OUTPUT.
4348 * src/version.h.in: new.
4349 * src/intl.h: changed dgettext() to gettext().
4353 * po/ja.po: fixed a typo that crashed Sylpheed with older version
4355 * configure.in: fixed a bug that didn't show results correctly.
4356 Fixed a bug that --enable-compface and --enable-jconv disabled
4358 * src/procmsg.c: procmsg_send_queue(): don't abort when sending
4360 * src/compose.c: compose_write_headers(): add Bcc: header to the
4362 * src/send.c: send_message_data(): new. Separated from
4363 send_message_smtp(). Remove Bcc: header before sending.
4371 * src/send.c: implemented sending with local sendmail command.
4372 send_message_local(): new. It executes command with popen()
4373 and send the contents of RFC822 message to the command.
4374 * src/prefs_common.[ch]: enabled the external sending command option.
4375 * src/defs.h: #define DEFAULT_SENDMAIL_CMD /usr/sbin/sendmail -t
4376 * src/account.c: account_edit_create(): widened the protocol column.
4377 * src/summaryview.c: summary_set_colorlabel_color(): cleanup of
4382 * src/folder.c: folder_item_remove_msg(): scan the folder again
4383 if the last message is removed.
4384 * src/compose.c: compose_queue(), compose_draft_cb(): remove the
4385 old reedited message after adding the new message.
4389 * src/compose.c: compose_queue(): added AID: to the queueing header.
4390 * src/send.c: send_message_queue(): look for AID: header, and use
4391 the server specified in the account instead of SSV: header.
4393 src/compose.[ch]: queued messages can be reedited now.
4394 compose_remove_reedit_target(): new. It removes the old reedited
4396 compose_send(), compose_queue(), compose_draft_cb(): if reedit
4397 mode, remove the old message.
4398 * src/procmsg.c: procmsg_msg_exist(): fixed a bug that output
4403 * applied the XML string table patch from Alfons Hoogervorst that
4404 stores strings in a hash table and minimizes memory allocations
4406 * src/stringtable.[ch]: new.
4407 removed all G and g_ prefix from type and function names since
4408 they're not official GLib symbol names.
4409 string_table_insert_string(): fixed a bug that might refer to an
4410 invalid pointer on lookup, and also made a bit of optimization.
4414 * merged the color label feature from the claws branch (thanks to
4415 Satoshi Nagayasu and Alfons Hoogervoost).
4416 * src/colorlabel.[ch]: new. Renamed from labelcolors.[ch].
4417 Renamed labelcolors_*() to colorlabel_*().
4418 * src/summaryview.[ch]: added color label support.
4419 * src/procmsg.h: added color label flags to the permanent flags.
4420 * updated to gettext 0.10.39.
4421 * src/summaryview.[ch]: put the color label menu item to ItemFactory.
4422 * sylpheed.desktop: added for GNOME.
4423 * configure.in: added AC_MSG_CHECKING() for some options.
4424 Output the configuration results when configure is finished.
4428 * src/account.c: account_clist_set_row(): fixed a bug that failed
4429 to compile if SSL was not enabled.
4433 * merged the SSL support from the claws branch (thanks to Christoph
4435 * src/ssl.[ch]: new.
4436 * src/socket.[ch]: added ssl_read(), ssl_write(), ssl_gets(), and
4438 sock_close(): call ssl_done_socket() if SSL is active.
4439 * src/md5.[ch]: removed MD5_CTX typedef and use MD5_CONTEXT to
4440 prevent type confliction.
4441 * src/prefs_account.[ch]: added SSL tab, and modified the expression.
4442 * src/esmtp.[ch]: added esmtp_ehlo(), and esmtp_starttls().
4443 Removed SSL initialization and HELO from esmtp_starttls().
4444 esmtp_auth(): removed use_smtp_auth from its arguments.
4445 * src/send.c: send_smtp_open(): added SSL support.
4446 * src/smtp.c: smtp_helo(): call esmtp_ehlo() if esmtp is true.
4450 * src/mimeview.c: mimeview_open_with(): braced '%s' with single
4455 * src/main.c: open new account dialog if no account is set.
4456 * src/utils.[ch]: log_verbosity_set(): new. It increase/decrease
4457 the verbosity count.
4458 log_print(): put to statusbar only if log_verbosity_count > 0.
4459 log_message(): put to statusbar.
4460 * src/inc.c: inc_pop3_session_do(): set log verbosity.
4461 * src/mainwindow.c: main_window_set_menu_sensitive(): added the
4462 "Compose new message" item.
4463 main_window_show_cur_account(): removed "Current account: " string.
4464 * src/summaryview.c: summary_show(): ignore the current marks if
4465 main window is locked.
4466 * src/compose.c: compose_attach_property(): fixed a bug that caused
4471 * src/mainwindow.c: main_window_get_current_state(): new. It returns
4472 the current state for the sensitivity of UI.
4473 main_window_set_toolbar_sensitive(): use table like
4474 main_window_set_menu_sensitive().
4478 * src/mainwindow.[ch]: added progressbar and status label to the
4480 main_window_close_cb(): don't exit if locked.
4481 * src/inc.c: update the progressbar of main window, too.
4485 * src/mainwindow.[ch]: main_window_set_toolbar_sensitive(): removed
4486 the second argument, and determine the sensitivity with the
4487 state of summary view.
4491 * src/pop.c: pop3_getsize_list_recv(), pop3_retr_recv(),
4492 pop3_delete_recv(): don't try to receive messages which are not
4497 * src/mainwindow.c: main_window_lock(), main_window_unlock():
4498 removed the whole menubar locking.
4499 main_window_set_menu_sensitive(): process the sensitivity change
4500 with a table, and deal with locking.
4504 * src/summaryview.[ch]: summary_get_selection_type(): new.
4505 It returns the current selection state of summary view.
4506 summary_key_pressed(): abort on some commands if main window
4508 * src/mainwindow.[ch]: main_window_lock(), main_window_unlock():
4509 increase/decrease the lock count.
4513 * src/prefs_filter.c: prefs_filter_create(): added List-Id to the
4514 default header list.
4515 * src/prefs_common.[ch]: added the option for receive dialog mode
4516 to the Interface tab.
4517 * src/inc.[ch]: inc_progress_dialog_create(): don't make the dialog
4518 transient, and show dialog only if the setting is
4519 RECV_DIALOG_ALWAYS, or RECV_DIALOG_ACTIVE and a window is active.
4520 * src/mainwindow.[ch]: main_window_lock(), main_window_unlock():
4521 new. Lock / unlock the user-interface.
4522 * src/progressdialog.c: progress_dialog_create(): don't make the
4527 * src/folderview.c: folderview_update_node(): suppressed unnecessary
4529 * src/menu.[ch]: menu_button_position(): new. It calculates the
4530 position of popup menu.
4531 * src/mainwindow.c: toolbar_account_button_pressed(),
4532 ac_label_button_pressed(): put the popup menu to the correct
4533 position. Change the style of the button while opening the menu.
4534 ac_menu_popup_closed(): new function called on selection_done
4536 * src/gtkutils.c: gtkut_ctree_node_next(): fixed a crash bug when
4538 * src/summaryview.c: applied the summary fix patch from Sergey Vlasov
4540 Fixed the bug that didn't select previous message in refresh mode
4541 if threads were not expanded.
4542 summary_select_node(): new.
4543 * src/inc.c: applied the summary view update optimization patch from
4544 Sergey Vlasov (thanks!).
4545 If no new messages are received, don't perform summary refreshing.
4546 In addition to the Vlasov's patch, POP3 receive information is
4548 * src/inc.h: added a new member cur_total_num to Pop3State.
4549 * src/pop.c: pop3_retr_recv(): increase state->cur_total_num.
4557 * src/summaryview.c: summary_set_row_marks():