6 src/prefs_common.[ch]: added the receive dialog's option to
7 display the dialog only on manual receiving, and the
8 RECV_DIALOG_ACTIVE option was removed.
12 * src/compose.c: compose_write_headers(): also replace ':' in the
13 MIME boundary with '_' (as a workaround for broken servers).
17 * src/imap.c: imap_scan_tree_recursive(): fixed compile error.
21 * src/prefs_filter.c: added 'Top' and 'Bottom' button.
25 * src/folder.[ch]: folder_item_remove_children(): new. It removes
26 all children under a FolderItem.
27 * src/folderview.c: folderview_rescan_tree(): modified the message.
28 * src/imap.c: imap_scan_tree(), imap_scan_tree_recursive(): reuse
29 the previous FolderItem objects.
33 * src/folder.[ch]: added a reference to its own GNode in FolderItem.
34 folder_item_remove(): free all FolderItem's.
35 folder_tree_destroy(): use folder_item_remove().
36 * src/folderview.c: folderview_sort_folders(): keep the order even
37 if special folders' parents are different.
38 * src/imap.c: imap_scan_tree_recursive(): fixed a memory leak.
39 * src/mh.c: mh_scan_tree(): preserve the previous FolderItem's.
40 mh_remove_missing_folder_items(): scan the directories and remove
42 mh_scan_tree_recursive(): reuse the previous FolderItem objects.
46 * src/mainwindow.c: always reflect window size changes.
47 * src/folderview.c: folderview_init()
48 src/summaryview.c: summary_init(): realize the widget before
50 * src/prefs_common.[ch]: remember the folder and mesage view's
56 src/prefs_common.[ch]: remember the size and position of
58 main_window_set_widgets(): fixed a bug that the hidden items on
59 the header view were shown when changing the view type.
60 Instead of setting the window size, set the each view's size.
64 * src/compose.c: compose_select_account(): don't append signature
66 compose_insert_sig(): don't insert "\n\n" if signature string
67 doesn't exist. Always insert signature at the end of message.
71 * improved sylpheed.spec.in (thanks to Andre Oliveira da Costa).
75 * minor code cleanups for the folder system.
76 * src/compose.c: compose_queue(), compose_draft_cb(): code cleanup.
77 * src/folder.c: code cleanups.
79 src/mh.c: calculate message numbers inside the functions.
80 * src/procmsg.c: procmsg_set_flags(): calculate message numbers.
81 * src/summaryview.[ch]: don't calculate and preserve message numbers
90 src/summaryview.c: renamed *_msgs_with_dest() to *_msgs().
94 * src/imap.[ch]: use CAPABILITY to use protocol extentions.
95 imap_greeting(): parse initial server greeting. Also support
98 imap_cmd_append(): use APPENDUID responses if UIDPLUS is supported.
102 * src/imap.c: imap_get_flag_str(): fixed a buffer overrun.
110 * src/main.c: main(): don't save config files on startup.
115 imap_get_msg_list(): removed redundant UID SEARCH ALL when not
117 Unset MSG_NEW flag if \Seen is set.
118 imap_get_uncached_messages(): fetch all messages if both first_uid
123 * src/imap.c: revamped the implementation so that it always
124 exactly reflects the state of IMAP4 servers.
125 imap_get_msg_list(): examine the state of messages using
127 imap_delete_cached_message(): removes single message cache.
128 imap_get_uid(): removed.
129 imap_cmd_search(): new. It issues UID SEARCH command and returns
131 imap_cmd_gen_recv(): made the length of strings unrestricted.
132 imap_get_uid_table(): returns a hash table from UID array.
139 src/news.[ch]: added Folder::close() method.
140 * src/summaryview.c: summary_clear_list(): call folder_item_close().
144 * flags are now taken over when copying messages into IMAP folders
151 mh_add_msgs(): flags can be also specified when adding files.
152 * src/folder.[ch]: added assertions for virtual functions.
153 * src/procmsg.[ch]: procmsg_get_message_file_list(): return the list
155 procmsg_message_file_list_free(): new.
159 * src/procmsg.h: changed MsgPermFlags and MsgTmpFlags from enum to
160 guint32 for portability (thanks to Alfons).
161 * src/imap.c: imap_add_msgs(): removed redundant unlink().
166 session_read_msg_cb()
167 session_read_data_cb(): fixed a bug that ran into infinite loop
168 if connection was closed by remote host (thanks to Yoichi Imai).
169 Added SESSION_EOF state to SessionState.
170 session_is_connected(): new.
171 * src/inc.[ch]: inc_put_error()
172 src/send_message.c: send_put_error(): also put log messages.
176 * more optimization of IMAP4.
177 * src/folder.[ch]: added a method add_msgs() that adds multiple files
179 Removed redundant scan() for the operations of FolderItem.
180 * src/imap.[ch]: implemented Folder::add_msgs() and optimized move
181 and copy from other Folder instances.
182 * src/mh.[ch]: implemented Folder::add_msgs() and cleaned up the code.
183 mh_fetch_msg(): scan folder if required.
184 * src/procmsg.[ch]: procmsg_get_message_file_list(): returns file
185 list from message list.
186 * src/summaryview.c: don't remove MSG_MARKED flags on
187 delete/move/copy operation.
188 summary_display_msg_full(): removed redundant message fetching.
192 * optimized move/copy/delete/mark operations of IMAP4 by using
193 sequence set when issuing commands (adopted claws' implementation
194 with cleaning it up).
196 imap_set_message_flags()
199 imap_cmd_store(): take sequence set string instead of UID number.
200 imap_do_copy_msgs_with_dest(): optimized by using sequence set.
201 imap_cmd_fetch(): use BODY.PEEK instead of BODY.
202 imap_remove_all_msg()
203 imap_set_message_flags(): use FLAGS.SILENT instead of FLAGS.
205 src/summaryview.c: use imap_msg_list_{set,unset}_perm_flags()
206 instead of issuing commands for each message.
211 src/prefs_account.[ch]
213 src/session.[ch]: added an option to enable/disable non-blocking
218 * src/compose.c: compose_attach_append(): display message's subject
219 when attaching message/rfc822 file.
226 session_read_msg_cb()
227 session_read_data_cb(): optimized by removing sock_peek() and
228 buffering received data in user space (correctly implemented
233 * src/session.c: reverted the previous change because it couldn't
234 handle data receiving after messages correctly.
240 session_read_msg_cb(): optimized by removing sock_peek() and
241 buffering messages in user space.
245 * src/imap.[ch]: refactored.
246 Changed all functions that have SockInfo arguments to take
248 Made imap_cmd_count an instance variable: IMAPSession::cmd_count.
249 imap_open(): only establish TCP (or SSL) connection.
250 imap_session_new(): process greeting and authentication here.
254 * src/imap.[ch]: implemented CRAM-MD5 authentication, and made code
256 * src/prefs_account.[ch]: added option menu for IMAP4 authentication
257 type in Receive tab, and hide other protocols' frames.
261 * src/mainwindow.c: send_queue_cb(): don't scan folder twice if
263 * src/procmsg.c: procmsg_send_queue(): return number of sent
269 main_window_set_toolbar_sensitive()
270 main_window_set_menu_sensitive(): removed the locking of file
271 operations while receiving mail.
275 * src/folder.[ch]: folder_item_remove_msg(): take MsgInfo as an
276 argument instead of message number.
277 * src/imap.[ch]: imap_remove_msg(): reimplemented using
279 * src/mh.[ch]: mh_do_move(): reimplemented using
280 mh_do_move_msgs_with_dest().
281 mh_copy_msg(): reimplemented using mh_copy_msgs_with_dest().
282 * src/procmsg.c: procmsg_send_queue(): modified to use message list.
286 * src/rfc2015.c: rfc2015_is_encrypted(): check MimeInfo::mime_type
287 to suppress some warnings.
288 * src/logwindow.c: log_window_append(): don't scroll up when trimming
293 * src/compose.c: add 'Content-Disposition: inline' to a text/plain
294 part when using PGP/MIME signing.
302 * src/defs.h: changed UI_REFRESH_INTERVAL from 40msec to 50msec.
303 * src/session.c: session_read_msg_cb(): make it always fail if
304 sock_read() returns by error.
305 * src/socket.[ch]: sock_check(): handle exceptional SSL condition.
306 sock_has_pending_data(): removed.
307 Removed debug output.
308 * src/send_message.c: send_recv_message(): display messages to
313 * src/inc.[ch]: update received message number on CList while
315 * src/session.c: session_read_data_cb(): optimized by removing
316 g_malloc() and memcpy().
320 * src/socket.[ch]: sock_add_watch(): new. It monitors SSL by original
321 watch functions (otherwise uses g_io_add_watch()).
322 * src/session.[ch]: removed previous workarounds, and replaced
323 g_io_add_watch() with sock_add_watch().
327 * src/socket.[ch]: added sock_has_pending_data() which returns TRUE
328 if socket has pending data.
329 * src/session.c: session_recv_msg(), session_recv_data(): check if
330 socket has pending data and call the callbacks immediately in that
331 case (fixes the hang at ESMTP EHLO on SSL).
335 * src/socket.c: check return value in SSL functions.
339 * src/mimeview.c: mimeview_init(): initialize TextView to prevent
340 slowdown caused by GTK+ themes (thanks to Yuri Arapov).
344 * src/session.c: session_read_data_cb(): clear Session::read_data_buf
345 before calling callbacks.
349 * src/socket.c: made socket connection protocol independent.
350 * src/session.c: removed debug g_print().
351 * src/inc.c: made status bar output less verbose, and show counter
352 on main window's progressbar.
356 * src/session.c: added missing #include <errno.h>.
360 * src/session.[ch]: reimplemented the Session system with non-blocking
361 I/O to solve the performance and the code design issue.
362 * src/socket.[ch]: added sock_connect_async() and
363 sock_connect_async_cancel() to enable asynchronous connection.
364 sock_peek(): modified the implementation.
365 * src/pop.c: optimized the receiving of the responses of
370 * src/procmsg.c: procmsg_get_thread_tree(): prevent threading problems
371 when a node is an ancestor (parent / great parent), which mostly
372 happens with circular references (thanks to Phillipe Gramoulle
373 for finding an sample set of messages, and Alfons for the patch).
377 * src/pop3.c: pop3_get_uidl_table(): return empty hash table even if
378 UIDL list is not found (fixes inability of initial retrieval).
382 * src/main.c: added the option '--status-full' which shows the status
383 of each folder specified. The option '--status' also takes
384 following arguments for folders (thanks to Yuri Arapov).
385 * src/folder.[ch]: folder_get_status(): new. it takes the array of
386 folders as the argument and returns their status.
387 folder_count_total_msgs(): removed.
397 src/inputdialog.c: use gtk_main_iteration() instead of gtk_main()
398 to prevent abort when a button is double-clicked.
402 * src/addr_compl.c: invalidate_address_completion(): check if
403 g_completion_list is NULL (thanks to Kazuhiro NISHIYAMA).
407 * src/pop.c: pop3_session_recv_data_finished(): fixed a bug that
408 deleted messages that is to be kept on server (thanks to Tristan
418 sock_set_io_timeout(): new. It sets the timeout interval.
419 sock_gdk_input_add(): removed since it's not used anymore.
420 * src/prefs_common.[ch]: added an option to set the timeout parameter.
424 * src/action.c: fixed a bug that didn't hide user string in
425 create_io_dialog() (thanks to Markus Amersdorfer).
426 Removed ChildInfo::type and added Children::action_type.
430 * src/inc.c: inc_start(): ask every password before retrieving.
431 Don't popup the redundant error dialog.
433 inc_all_account_mail()
434 inc_progress_dialog_set_list(): separated account list display
436 inc_progress_dialog_set_label()
437 inc_recv_data_finished()
438 inc_recv_message(): properly update the dialog when RETR finished.
443 imap_modified_utf7_to_locale()
444 imap_locale_to_modified_utf7(): fixed compilation failure when not
449 * src/procmime.c: procmime_scan_multipart_message(): fixed parsing
450 of message/rfc822 parts.
454 * src/pop.c: pop3_ok(): detect timeout error.
458 * src/imap.c: imap_locale_to_modified_utf7(): fixed the encoding bug
459 when locale strings include '+'.
460 imap_modified_utf7_to_locale()
461 imap_locale_to_modified_utf7(): at least escape/unescape '&' even
462 if iconv() is not supported.
468 compose_get_signature_str(): include separator in signature string.
469 Don't insert separator if signature file is not found.
470 Disabled use of implicit default signature path (~/.signature) when
480 src/quote_fmt_parse.y
481 src/smtp.c: suppress warnings that gcc-3.3 issues.
482 src/stringtable.c: use string_entry_free().
486 * src/compose.c: compose_insert_sig(): fixed the bug that always
487 appended signature separator if signature file was not found.
488 compose_get_signature_str(): fixed the bug that caused crash if
489 signature file cannot be opened.
497 * src/session.c: session_recv_msg(): removed debug print.
504 imap_cmd_fetch(): check for data size that servers return (fixes
505 vulnerability found in BugTraq).
509 * src/addr_compl.c: get_complete_address()
510 src/addressbook.c: addressbook_format_address()
511 src/compose.c: QUOTE_IF_REQUIRED(): quote if name contains
512 characters that is not defined in atext (RFC 2822, 3.2.4. Atom).
513 * src/main.c: main(): set colormap and visual to solve color problem
514 in Solaris (thanks to Markus Schwarzenberg).
522 * src/prefs_account.c: temporarily removed POP before SMTP option.
526 * src/prefs_common.[ch]: changed the description of "Open message when
527 cursor keys are pressed on summary".
528 * src/summaryview.c: summary_show(): open message when always_show_msg
533 * src/logwindow.[ch]: restrict the maximum lines of the log messages
534 to reduce the memory usage.
538 * src/compose.c: compose_insert_sig(): fixed a crash when signature
539 string contains illegal sequence.
540 * src/utils.[ch]: changed get_wcs_len() to get_mbs_len() for accuracy.
544 * major refactoring of MIME structure.
545 * src/procmime.c: procmime_scan_message(): decrypt message if
546 gpgme is enabled. Create multipart tree only if content-type is
547 multipart/* or message/rfc822.
548 procmime_scan_multipart_message(): fixed the scanning of
550 * src/action.c: parse_append_msgpart()
551 src/messageview.c: messageview_show()
552 src/mimeview.c: mimeview_show_message(): use procmime_scan_message()
553 instead of procmsg_open_message() and procmime_scan_mime_header().
554 mimeview_set_multipart_tree(): conform to the new MIME structure.
555 * src/textview.c: textview_show_part(): removed unnecessary check.
556 * src/procmsg.c: procmsg_open_message_decrypted(): fixed the file
557 pointer when decryption failed.
561 * src/ssl.c: ssl_init_socket_with_method(): replaced log_warning()
562 by g_warning(), and log_print() by debug_print().
563 * src/pop.[ch]: added an error code PS_NOTSUPPORTED, and retry with
564 LAST if UIDL is not supported.
568 * src/codeconv.c: conv_get_code_conv_func(): convert to EUC-JP only
569 if it is the current locale encoding when dest_charset_str is NULL.
573 * src/action.c: execute_actions(): fixed crash when no text widget
574 is selected (thanks to Paul and Melvin).
576 src/prefs_actions.c: added missing reference to Claws team in the
583 session_send_data(): fixed a memory leak and data sending bug.
584 * src/send_message.c:
585 send_message_smtp(): fixed focus management.
589 * src/smtp.[ch]: set the response string to SMTPSession::error_msg
591 * src/send_message.c: show error dialog if error occurred.
592 * src/main.c: send_queue()
593 src/mainwindow.c: send_queue_cb(): don't show error dialog here.
597 * src/session.c: session_close(): kill child process only if
598 state is not SESSION_DISCONNECTED.
599 * src/send_message.c: send_cancel_button_cb()
600 src/inc.c: inc_cancel(): don't set Session::state to
601 SESSION_DISCONNECTED.
602 * src/prefs.[ch]: modified the names of prefs_write_*().
603 * src/address.[ch]: removed.
607 * src/compose.c: compose_template_apply(): overwrite recipients.
611 * src/procheader.c: procheader_date_parse(): removed debug print.
612 * src/session.c: changed every g_print to debug_print.
613 session_child_input(): removed unrequired session_close() (it'll
614 be closed anyway after returning FALSE).
615 * src/send_message.c: send_message_smtp(): changed g_print to
620 * src/procheader.c: procheader_procheader_date_parse(): don't add
621 local timezone offset if timezone is unknown.
622 Made the Y2K workaround code to follow RFC 2822.
623 procheader_scan_date_string(): workaround for date strings which
624 don't have timezone specification.
625 * src/utils.c: remote_tzoffset_sec(): return -1 if timezone is
630 * src/action.[ch]: refactored. Also fixed a bug on MIME mode, and
631 some memory leaks on error.
632 action_update_msgview_menu(): new.
633 * src/messageview.[ch]: added "Tools/Actions" menu. Keep window list.
634 messageview_get_selected_mime_part(): returns MimeInfo of selected
635 part when MessageView is in MIME mode.
636 * src/mimeview.[ch]: mimeview_get_selected_part(): returns MimeInfo
638 * src/summaryview.[ch]: summary_get_selected_msg_list(): returns
639 MsgInfo list of selected messages.
643 * src/prefs_filter.[ch]: include original message's headers as
644 the preset keywords. Modified the sizes of the widgets.
645 * src/utils.[ch]: added str_case_equal() and str_case_hash() for
646 case-insensitive hash.
650 * src/procmsg.c: procmsg_get_filter_keyword(): added X-Sequence to
651 auto-detected headers.
655 src/mainwindow.c: modified function names.
656 get_user_string(): Use input_dialog() instead of its own
661 * src/codeconv.[ch]: conv_encode_header(): don't include '(' and ')'
662 in encoded strings if addr_field is TRUE.
663 * src/compose.c: compose_convert_header(): added a flag 'addr_field'.
667 * src/prefs_actions.[ch]: separated action execution routine into
672 * src/prefs_actions.c: minor code cleanup.
676 * src/codeconv.[ch]: conv_iconv_strdup(): fixed the handling of
682 inc_recv_data_progressive()
683 inc_recv_data_finished()
686 send_send_data_progressive()
687 send_send_data_finished(): added assertion.
691 * src/codeconv.[ch]: conv_iconv_strdup(): fixed potential memory
696 * src/codeconv.[ch]: conv_iconv_strdup(): don't include nul character
697 in source buffer since it messed up some encoding conversion (like
702 * src/procmsg.c: procmsg_get_filter_keyword(): unfold headers and
703 extract ID from List-Id header.
704 * src/utils.[ch]: extract_one_parenthesis_with_skip_quote(): removed.
705 extract_list_id_str(): extract ID string from List-Id header.
709 * src/prefs_actions.c: merged from the claws branch. Fixes several
710 bugs and adds some features.
714 * src/compose.c: compose_parse_header(): fixed a bug that unnecessary
715 linebreaks were included on reediting.
717 src/pop.c: fixed typos: 'occured'.
721 * src/compose.[ch]: implemented auto signature replacement on
723 compose_insert_sig(): added a flag to replace current signature.
724 compose_get_signature_str(): new. It returns signature string.
725 compose_insert_command_output(): removed.
726 compose_select_account(): call compose_insert_sig() on account
728 compose_destroy(): fixed a memory leak of UndoMain object.
729 Compose::sig_str: new. It stores current signature string.
730 * src/gtkutils.[ch]: gtkut_stext_find(): new.
731 Renamed gtk_stext_clear() to gtkut_stext_clear().
732 * src/utils.[ch]: get_wcs_len(): returns wide-character length of
734 normalize_newlines(): converts CR+LF and CR into LF.
735 get_command_output(): returns command output.
739 * src/procmsg.[ch]: procmsg_get_filter_keyword(): new. It returns
740 filter keyword for messages.
741 * src/summaryview.c: summary_filter_open(): use
742 procmsg_get_filter_keyword().
743 * src/messageview.c: create_filter_cb(): implemented.
749 inc_put_error(): display server responses on error.
750 * src/pop.[ch]: added Pop3Session::error_msg, and set server responses
755 * src/messageview.[ch]: separated the forced charset of message view
756 in separate window from the main window.
758 textview_show_message()
760 textview_add_part(): use MessageView::forced_charset if specified.
764 * src/mainwindow.c: modified File menu a bit.
765 * src/menu.[ch]: added functions to handle item factory rc strings.
766 * src/messageview.[ch]: added a menu, and made it take over main
767 window's menu shortcuts.
768 added msginfo which is duplicated on display to MessageView.
769 * src/prefs_common.c: prefs_keybind_apply_clicked(): use
770 menu_factory_clear_rc().
774 * send_message.c: send_message_smtp():
775 re-enabled forcing of SMTP AUTH method.
776 Clear temporary password if authentication failed.
777 * smtp.c: output warning to log and set SMTPSession::error_val
779 * smtp.h: changed error value to enum. Added SMTPSession::error_val.
780 * src/mbox.c: proc_mbox(): force updating of folder.
784 * src/pop.h: changed error value to enum.
785 * src/pop.c: pop3_retr_recv(): return PS_IOERR when inc_drop_message()
787 pop3_ok(): return appropriate error value based on current state.
788 Output warning to log if error occurs.
793 src/news.[ch]: refactored. Remove NNTPSockInfo and use NNTPSession
798 * src/inc.c: inc_pop3_session_do(): retrun appropriate error if
799 Session::state == SESSION_ERROR.
800 * po/POTFILES.in: removed src/automaton.c and src/send.c.
801 Added src/send_message.c.
806 src/session.c: fixed breakage of POP3 retrieval.
807 session_recv_data_from_sock_unescape(): read until terminator
808 appears and also return the actual size.
812 * src/automaton.[ch]: removed.
813 * src/session.c: removed some of the debug output.
814 * src/smtp.c: smtp_session_recv_msg(): workaround in case server
815 returns EHLO-style response to HELO command.
816 Ignore all multiline responses except for EHLO since they are
817 allowed for any command.
822 src/pop.c: fixed retrieval of messages which contain dot-escaped
824 session_recv_data(): added a flag for unescape.
825 session_recv_data_from_sock_unescape(): new. It receives message
826 for each line and unescapes dot-escaped lines.
827 Removed the previous workaround.
828 * src/defs.h: decreased UI_REFRESH_INTERVAL to 40 msec.
832 * src/pop.[ch]: workaround for brekage of retrieval when given size
833 and actual one is different.
837 * src/pop.c: pop3_retr_eom_recv(): ignore invalid end of message
838 since some servers sometimes return incorrect message size.
839 * src/news.c: news_session_new(): zero clear NNTPSession object.
840 Don't initialize Session::sock with nntp_sock->sock to prevent
841 double-free of SockInfo.
842 * src/imap.c: zero clear IMAPSession object.
843 imap_cmd_append(): don't close SockInfo.
847 * src/pop.c: pop3_session_recv_msg(): fixed STLS.
852 src/pop.[ch]: reimplemented using new I/O system.
853 * src/session.[ch]: session_recv_data(): new.
854 session_send_data_to_sock()
855 session_recv_data_from_sock(): decreased the frequency of progress
860 * src/smtp.c: smtp_auth_recv(): fixed CRAM-MD5 authentication.
864 * src/session.[ch]: session_start_tls(): new.
865 session_recv_msg(): made it static.
869 * implemented asynchronous network I/O.
870 * src/session.[ch]: the interface to communicate with servers through
873 src/send_message.[ch]: rewrote using new I/O system.
874 * src/socket.[ch]: renamed *_write() to *_write_all(), and made
875 *_write() as just a simple wrapper for write().
876 * src/utils.c: get_outgoing_rfc2822_str(): new. It modifies the
877 message to send with SMTP or NNTP.
878 file_read_stream_to_str(): new.
882 * src/textview.c: textview_button_pressed(): corrected the range of
884 * src/compose.c: compose_wrap_line_all_full(): treat UTF-8 characters
885 represented with more than 2 bytes as 2 character width and 2 bytes
886 one as a single character width as a workaround for wrapping problem.
890 * src/utils.c: subject_compare_for_sort(): allow null strings (fixes
895 * implemented HTML link correctly.
896 * src/html.[ch]: HTMLAttr, HTMLTag: new structure for attributes /
898 html_get_tag(): new. It parses tag and returns HTMLTag object.
899 html_parse_tag(): also parses <a> tags and 'href' attributes.
900 * src/textview.c: textview_write_link(): new. It creates link string.
904 * src/compose.c: compose_wrap_line_all_full(): fixed an infinite
905 loop / crash bug (thanks to Darko Koruga).
906 compose_write_to_file(): put correct charset element when
907 conversion failed but want to send anyway.
911 * src/headerview.c: headerview_show()
912 src/textview.c: textview_write_line(): remove unreadable characters
913 from displayed strings to prevent crashes on multi-byte
915 * src/codeconv.[ch]: conv_unreadable_locale(): new. It was separated
916 from conv_localetodisp().
920 * src/procmsg.c: procmsg_cmp_by_subject()
921 src/summaryview.c: summary_cmp_by_subject(): ignore Re: when
924 subject_compare_for_sort()
925 trim_subject_for_sort(): new.
933 * src/defs.h: added -i option to the default sendmail command.
937 * src/codeconv.[ch]: added missing character encodings and locales.
942 procmsg_get_mark_sum()
943 procmsg_open_mark_file()
944 procmsg_read_mark_file(): take FolderItem instead of directory
949 * src/codeconv.c: conv_encode_header(): fixed a bug that spaces
950 which is on the wrap boundary would be lost when encoding long
951 non-ascii strings (thanks to Sergey Vlasov).
952 Don't force wrapping within a long word until it reaches hard line
953 length limit (998 characters) (workaround for the breakage of
954 long address list with no spaces).
958 * src/prefs_account.c: fixed compile failure when using neither
963 * src/codeconv.c: fixed UTF-8 locale support.
964 conv_get_code_conv_func(): return conv_noconv if locale encoding
965 is UTF-8. Return conv_latintodisp on ISO-8859-* to locale encoding
967 conv_convert(): call conv_iconv_strdup() instead of
968 conv_codeset_strdup().
969 conv_codeset_strdup(): moved some codes into conv_iconv_strdup().
973 * src/prefs_account.[ch]: added an option to use command output for
975 * src/compose.c: compose_insert_sig(): use command output if
977 compose_insert_command_output(): new.
981 * src/main.c: main(): remove lock socket if sylpheed is not running
982 when --status command is executed.
983 lock_socket_remove(): new.
987 * src/codeconv.c: conv_codeset_strdup(): don't convert if current
988 codeset is US-ASCII (or POSIX).
992 * src/codeconv.c: conv_iconv_strdup(): try to skip invalid characters
993 and continue conversion.
997 * src/summaryview.c: summary_selected(): always update widget
1002 * src/utils.c: tzoffset_sec(): fixed a bug that displayed wrong
1003 date in timezones more than GMT+12 or less than GMT-12.
1007 * src/prefs_common.[ch]
1008 src/sourcewindow.c: remember the size of source window.
1009 * src/md5.c: fixed a compile problem with gcc 3.3.
1013 * src/about.c: about_create(): modified the copyright notice.
1017 * src/colorlabel.c: don't use pixmaps for label color rect but draw
1018 rectangles so we can respect the color map of palette based visuals
1019 (fixes the long time crashes on Solaris - thanks to Alfons
1024 * src/procheader.c: procheader_date_parse(): made month string case
1026 * src/prefs_filter.c: prefs_filter_close(): fixed the crash when the
1027 selection list is empty.
1031 * src/quote_fmt_parse.y: removed gettext translatable strings.
1032 * src/unmime.c: unmime_header(): remove broken characters when
1033 code conversion failed.
1034 * src/codeconv.c: conv_encode_header(): fixed a bug that broken
1035 headers if long words more than 75 characters are entered.
1039 * src/prefs_account.c: prefs_account_receive_create()
1040 src/utils.c: to_human_readable(): made units translatable.
1044 * src/codeconv.c: isprintableeuckanji(): don't allow more than 0xf4
1045 at first byte (fixes abort() problem of glibc).
1046 * src/html.c: html_read_line(): remove characters which can't be
1047 displayed on the current locale.
1052 trim_subject_for_compare(): renamed from trim_subject().
1053 trim_subject(): new. It removes [...] or (...) at the beginning
1055 * src/prefs_folder_item.c
1057 added options for trimming summary / compose subject.
1058 * src/summaryview.c: summary_set_header(): trim subject if the folder
1060 * src/compose.c: compose_reply_set_entry(): trim subject if the folder
1066 LBREAK_IF_REQUIRED(): don't break lines before first word (fixes
1067 X-Face header problem).
1068 conv_encode_header(): allow up to 97 characters for one word.
1072 * src/filter.c: filter_match_condition(): fixed the bug that
1073 second condition ignored regex.
1074 * src/news.h: NewsGroupInfo: use guint for message numbers
1075 (fix count in grouplist dialog) (thanks to Thorsten Maerz).
1079 * src/codeconv.c: conv_encode_header(): fixed a segfault bug
1080 on code conversion failure.
1081 conv_get_charset_str()
1082 conv_get_charset_from_str(): optimized using hash table.
1086 * src/quote_fmt_parse.y:
1087 SHOW_MESSAGE_NO_SIGNATURE, SHOW_QUOTED_MESSAGE_NO_SIGNATURE:
1088 treat only "\n-- \n" as a signature separator.
1092 * src/gtkutils.[ch]: gtkut_ctree_node_prev(): new.
1093 * src/summary_search.c: summary_search_execute(): search collapsed
1099 conv_unreadable_latin(): include 0x7f as an unreadable character.
1100 conv_localetodisp(): don't remove 8bit characters by default.
1101 conv_get_current_charset()
1102 conv_get_outgoing_charset(): return ISO-8859-15 if "@euro" is
1103 appended at the last of locale name.
1104 * src/compose.c: compose_write_to_file(): show from and to encoding
1105 when code conversion failed.
1113 * src/procmsg.h: WRITE_CACHE_DATA(): little speed improvement
1114 (thanks to Colin Leroy).
1115 * src/mh.c: mh_get_msginfo(): added NULL check (thanks to Thorsten
1120 * src/textview.c: textview_write_line(): don't convert if conv is
1125 * src/codeconv.[ch]:
1126 renamed conv_guess_encoding() to conv_guess_ja_encoding().
1127 conv_localetodisp(): new. It removes unreadable characters from
1128 (assumed) current locale string.
1129 conv_codeset_strdup(): convert into ISO-8859-1 if dest_code is
1130 NULL and current locale encoding is US-ASCII.
1131 conv_get_code_conv_func(): return conv_ustodisp if US-ASCII is
1132 specified for destination charset.
1133 * src/textview.c: textview_write_line(): use conv_localetodisp()
1134 instead of strncpy2() if conversion failed.
1138 * src/codeconv.c: conv_iconv_strdup()
1140 imap_modified_utf7_to_locale()
1141 imap_locale_to_modified_utf7(): use ICONV_CONST macro to remove
1142 a warning on some systems.
1143 * src/codeconv.c: conv_iconv_strdup(): flush iconv() output and
1145 Return NULL instead of incomplete string if conversion failed.
1149 * src/summaryview.c: summary_execute(): select appropriate node
1150 if currently selected node is to be deleted.
1151 * src/gtkutils.[ch]: gtkut_ctree_node_is_selected(): new. Returns
1152 TRUE if the specified node is selected.
1156 * src/summaryview.c: summary_status_show(): fixed a occasional crash
1157 on deleting or moving.
1161 * src/codeconv.c: conv_unreadable_eucjp(): made the validity check
1162 of EUC-JP more accurate.
1163 isprintableeuckanji(): new. Use table for validity check of EUC-JP.
1175 * src/quoted-printable.c: qp_encode_line(): fixed linebreak
1176 duplication bug if the source string has CRLF.
1178 canonicalize_str(): new. Returns newly allocated canonicalized
1180 uncanonicalize_file(): new. Uncanonicalize (CRLF -> LF) text.
1181 uncanonicalize_file_replace(): new.
1182 * src/compose.c: always canonicalize body before processing, and
1183 uncanonicalize before returning.
1187 * src/procmime.c: procmime_get_encoding_for_charset(): prefer
1188 ENC_8BIT for Russian charsets.
1189 * src/compose.c: compose_write_to_file(): use base64 when signing
1194 * src/prefs_common.c: prefs_send_create(): added a description for
1195 the setting of Content-Transfer-Encoding.
1199 * src/codeconv.c: fixed locale_table for Russian locales (thanks to
1201 * src/procmime.c: procmime_get_encoding_for_charset(): return
1202 ENC_BASE64 for ISO-8859-5, KOI8-* and Windows-1251.
1203 * src/compose.c: compose_attach_append(): set correct Content-
1204 Transfer-Encoding for message/rfc822.
1205 compose_write_to_file(): enabled user-definable Content-Transfer-
1207 * src/prefs_common.[ch]: added an option for user-defined Content-
1212 * src/quoted-printable.[ch]: qp_encode_line(): fixed a bug if the
1213 line doesn't end with linebreak.
1217 * implemented quoted-printable encoding.
1218 * src/quoted-printable.[ch]: qp_encode_line(): new.
1220 compose_write_to_file()
1221 compose_write_attach(): implemented quoted-printable encoding.
1222 compose_attach_property_create(): enabled quoted-printable menu
1224 * src/procmime.c: procmime_get_encoding_for_charset(): return
1225 ENC_QUOTED_PRINTABLE for ISO-8859-* and CP125* charset.
1226 * src/Makefile.am: added $(LIBICONV) to sylpheed_LDADD for libiconv
1233 src/utils.[ch]: get_abbrev_newsgroup_name(): improved the way
1234 of abbreviation of newsgroup name.
1238 * configure.in: show the result of iconv detection.
1242 * src/codeconv.[ch]: made the transition from libjconv to iconv().
1243 conv_iconv_strdup(): new.
1247 src/prefs_common.c: replaced HAVE_LIBJCONV to HAVE_ICONV.
1253 src/prefs_folder_item.c: English fix (property -> properties).
1254 * src/prefs_filter.c: alert if entry is not saved.
1255 prefs_filter_dialog_to_filter(): new.
1259 * src/codeconv.c: conv_encode_header(): fixed a bug which output raw
1260 strings after linefeed.
1265 * src/codeconv.[ch]: code cleanup and optimization.
1266 conv_code_converter_new()
1267 conv_convert(): use functions obtained by conv_get_code_conv_func()
1268 when using libjconv.
1269 conv_codeset_strdup(): code cleanup.
1270 conv_get_code_conv_func(): added an argument for destination
1271 character set, and generalized.
1275 * src/codeconv.c: LBREAK_IF_REQUIRED(): break line only if some
1277 * src/compose.c: compose_convert_header(): remove trailing spaces.
1278 * src/customheader.c: custom_header_read_str(): strip the spaces
1280 * src/prefs_customheader.c: prefs_custom_header_clist_set_row():
1281 strip the spaces of name and value.
1289 * src/codeconv.c: conv_encode_header(): fixed a bug which will run
1290 into infinite loop when encountering invalid characters.
1294 * src/procmsg.[ch]: procmsg_sort_msg_list(): new. It sorts message
1296 * src/summaryview.c: summary_show(): removed summary_sort() because
1297 it is done inside folder_item_get_msg_list(). This will improve
1298 the performance of summary display.
1299 Sorted out the summary sort functions using macros.
1303 src/folder.[ch]: folder_item_get_msg_list(): return pre-sorted
1304 list if FolderItem::sort_key is set.
1305 Added SORT_BY_TO to FolderSortKey enum.
1306 * src/mainwindow.c: added "View/Sort/by recipient".
1314 * src/codeconv.c: conv_encode_header(): fix for redundant space on
1316 * src/compose.c: compose_convert_header(): always pass string to
1317 conv_encode_header() for line-breaking.
1321 * src/textview.c: textview_make_clickable_parts(): fixed incorrect
1322 parsing of email addresses.
1326 * src/defs.h: added DEFAULT_BROWSER_CMD.
1327 * src/mimeview.c: mimeview_view_file()
1328 src/prefs_common.c: prefs_other_create()
1329 src/utils.c: open_uri(): changed the default web browser to
1330 mozilla, and changed 'raise' command (which is undocumented)
1331 to 'new-window' in 'netscape -remote'.
1335 * src/compose.c: compose_send_control_enter(): fixed crash on
1336 Ctrl-Enter when Message/Send has no accelerator key (thanks to
1344 sort_summary_type_cb(): prevent unwanted processing on unchecking
1349 * src/main.c: process command line option before gtk_init() to
1350 enable remote operation without X (thanks to Ruslan N. Balkin).
1351 * src/codeconv.c: conv_encode_header(): fixed a potential buffer
1356 * src/Makefile.am: changed $(target_alias) to $(target_triplet)
1357 (the spec of autotools seems to be changed).
1361 * src/imap.c: get path separator using LIST command if server
1362 doesn't support NAMESPACE (based on the patch by Brian Sammon).
1363 imap_parse_list(): added an argument to return path separator.
1364 imap_get_namespace_by_list(): new.
1368 * src/addr_compl.c: add_address(): removed the debug print.
1369 * src/gtkutils.[ch]: gtkut_window_popup()
1370 src/mainwindow.c: main_window_popup(): applied the patch to fix
1371 the behavior of window popup from Sergey Vlasov (thanks!)
1372 * src/account.c: account_edit_create(): use signal_connect_after
1373 for row_move signal to fix the row position bug.
1374 account_row_moved(): scroll the CList half page.
1375 * src/prefs_filter.c: prefs_filter_row_move(): scroll the CList
1377 * src/summaryview.c: summary_reply(): use selection text only if
1378 the displayed message is selected (thanks to Sergey Vlasov).
1382 * src/codeconv.c: conv_encode_header(): reimplemented the routine
1383 of MIME header encoding. And use Q-encoding method if the current
1384 locale is single-byte one.
1385 * src/utils.[ch]: is_next_nonascii(): take multi-byte string instead
1386 of wide-character string. Consider control codes as non-ASCII.
1387 get_next_word_len(): new. It returns the length of next word.
1388 is_next_mbs(), find_wspace(): removed.
1389 * src/quoted-printable.[ch]: new.
1390 qp_decode_line(): decodes one QP line.
1391 qp_decode_q_encoding(): decodes Q-encoded string in MIME header.
1392 qp_get_q_encoding_len(): returns the length when a string is
1394 qp_q_encode(): Q-encode a string (RFC 2047).
1395 * src/unmime.c: moved the functions for quoted-printable to
1400 * src/send.c: send_message_local(): escape line that only have one
1401 dot character (postfix's sendmail command will stop there).
1405 * src/send.c: send_message_local(): don't escape first-dot line
1406 (thanks to Sergey Vlasov).
1410 * autogen.sh: added 'libtoolize --force --copy' to override the
1412 * acconfig.h: removed.
1413 * configure.in: increased minimal version of GPGME to 0.3.10.
1414 Fixed checking of XIM.
1416 ac/gnupg-check-typedef.m4: added an argument for comment.
1420 * src/imageview.[ch]: fixed conflicting declarations of
1421 imageview_show_image() (thanks to Thorsten Maerz).
1425 * src/compose.c: compose_entry_append(): don't add ", " on subject
1427 * src/codeconv.c: conv_get_outgoing_charset(): obtain outgoing
1428 charset from the table (currently disabled for non-Japanese locales).
1429 conv_get_current_locale(): also refer to LC_CTYPE.
1433 * README: added a description about hidden settings.
1437 * src/prefs_common.[ch]: reorganized the common prefs dialog.
1438 Made enable_hscrollbar and bold_unread hidden options.
1442 * src/quote_fmt_parse.y: fixed a parse error (thanks to Andreas Hinz).
1447 account_find_from_message_file()
1448 account_find_from_msginfo(): new. They find an account from the
1449 headers like 'From:', 'X-Sylpheed-Account-Id:', and 'AID:' in the
1452 compose_reedit(): restore messages' previous account on composition.
1453 compose_write_headers(): add 'X-Sylpheed-Account-Id:' header
1458 * src/compose.c: cleaned up the code using compose_entry_set()
1459 (don't use gtk_entry_set_text() directly).
1463 * src/imap.c: imap_parse_namespace(): fixed a memory leak.
1467 * updated autotools and libtool to the latest version.
1468 * configure.in: added AC_PREREQ(2.50).
1472 * src/textview.c: textview_set_font(): fix for message display in
1473 UTF-8 locales (thanks to Sergey Vlasov).
1477 * src/imageview.[ch]: imageview_show_image(): resize images to fit
1478 the window size if specified.
1479 * src/prefs_common.[ch]: added an option 'Resize attached images'.
1483 * refactoring for SMTP implementation.
1484 * src/session.h: added ui_func to Session.
1485 * src/smtp.[ch]: separated the connection routine from
1486 smtp_session_new() to smtp_connect().
1487 Changed the argument of every function other than smtp_ok() from
1488 SockInfo to SMTPSession.
1489 Call UI callback from each functions.
1490 * src/send.c: send_message_smtp(): separated the code for UI update
1491 into send_progress_dialog_update().
1495 * src/smtp.[ch]: separated smtp_auth() from smtp_from().
1496 * src/send.c: send_message_smtp(): call smtp_auth() and display
1497 the state to the dialog.
1501 * src/filter.c: strmatch_regex(): use extended regex (thanks to
1503 * src/main.c: main(): removed the code for assortrc -> filterrc
1505 * src/gtkutils.c: gtkut_font_load(): only use gdk_font_load() if
1506 current locale is C or POSIX.
1507 gtkut_stext_is_uri_string(): include "www." for URI string.
1508 * src/textview.c: textview_make_clickable_parts(): include "www."
1517 * src/textview.c: textview_add_part(): indicate signature status
1518 using different colors.
1522 * src/folder.c: folder_write_list_recursive(): escape
1523 To/Cc/Bcc/Reply-To strings.
1527 * src/codeconv.c: conv_encode_header(): enabled B-encoding of
1528 headers on locales other than Japanese when not using libjconv.
1532 * src/inc.[ch]: added INC_IO_ERROR to IncState. Also added its
1533 corresponding error message.
1534 inc_pop3_session_do(): set INC_IO_ERROR instead of INC_NOSPACE
1539 * src/prefs_account.[ch]: removed prefs_account_save_config() since
1541 * src/procmime.[ch]: removed procmime_mimeinfo_free() since
1542 procmime_mimeinfo_free_all() can be used in every case.
1546 * src/account.c: account_get_special_folder(): support F_INBOX, and
1551 * src/compose.[ch]: ComposeEntryType: changed COMPOSE_* to
1552 COMPOSE_ENTRY_*, and added
1553 COMPOSE_ENTRY_{REPLY_TO,SUBJECT,FOLLOWUP_TO}.
1556 compose_redirect(): added FolderItem to the arguments, and reflect
1557 settings in the item.
1558 compose_entry_set(): new.
1559 compose_entry_append(): code cleanup.
1560 compose_entries_set_from_item(): take ComposeMode in its arguments,
1561 and enabled FolderItem::use_auto_to_on_reply.
1562 * src/summaryview.c: summary_reply(): pass folder_item to
1563 compose_{reply,forward,redirect}().
1567 * src/gtkutils.[ch]:
1568 gtkut_font_load(): new. It automatically choose font or fontset
1570 gtkut_font_load_from_fontset(): new. It tries to load single font
1571 instead of fontset from a fontset string.
1575 src/summaryview.c: workaround for the problem that couldn't display
1576 8-bit characters in C or POSIX locale (use font instead of fontset).
1579 src/textview.c: made code cleanup using gtkut_font_load*().
1583 * src/mh.c: mh_get_msginfo(): set correct message number.
1587 * src/folder.[ch]: added a new virtual method Folder::get_msginfo().
1588 It returns a new MsgInfo associated to a message number.
1589 folder_item_get_msginfo(): new.
1590 * src/imap.[ch]: imap_get_msginfo(): new.
1591 * src/mh.[ch]: mh_get_msginfo(): new.
1592 * src/news.[ch]: news_get_msginfo(): new.
1596 * src/codeconv.c: conv_euctojis(): fixed a bug which will cause
1597 infinite loop if an invalid code appeared.
1601 * src/codeconv.c: conv_codeset_strdup()
1602 src/html.[ch]: html_read_line(): don't output conversion failure
1604 Added HTML_CONV_FAILED to the enum HTMLState.
1608 * implemented per-folder auto-set address (still in progress).
1609 * src/compose.[ch]: compose_new(): added FolderItem to its arguments,
1610 and set entries from it (if mailto is empty).
1611 compose_entry_append(): activate menu if required.
1612 compose_entries_set_from_item(): new.
1613 * src/folder.[ch]: added auto_to, use_auto_to_on_reply, auto_cc,
1614 auto_bcc, and auto_replyto to FolderItem, and renamed apply_sub to
1616 folder_build_tree(), folder_read_folder_func(),
1617 folder_write_list_recursive(): added the above members.
1618 * src/prefs_folder_item.[ch]: added auto-set addresses.
1619 * src/pop.[ch]: removed Pop3State::prev_folder.
1623 * src/compose.c: allow dropping files by also "moving" files from a
1624 file manager (thanks to Alfons).
1628 * compose_reply_set_entry(): made Reply-To have priority over
1629 List-Post on ML reply.
1633 * src/gtksctree.[ch]: gtk_sctree_set_anchor_row(): new.
1634 * src/summaryview.c: summary_step(): fixed a bug that lost the
1635 correct selection anchor.
1636 summary_key_pressed(): use gtk_sctree_select() instead of
1640 src/recv.c: differentiate disk full and socket errors
1641 (thanks to Colin Leroy).
1645 * src/account.c: account_edit_prefs(): removed unused variables.
1646 * src/compose.[ch]: separated WITH_QUOTE/WITHOUT_QUOTE flags in
1649 compose_reply_set_entry(): receive reply type with one argument.
1650 * src/summaryview.c: summary_reply(): reduced conditional branches.
1654 * src/compose.c: compose_redirect(), compose_reedit(): strip CR
1655 from line ends (thanks to Sergey Vlasov).
1656 * src/folderview.c: renamed 'Rescan folder tree' to 'Rebuild
1661 * src/folder.[ch]: added a virtual method Folder::remove_msgs().
1662 * src/imap.[ch]: implemented imap_remove_msgs() which expunges
1663 messages all at once.
1667 * src/account.[ch]: account_open(): new. It opens account prefs
1668 dialog and reflects to UI when finished.
1670 folderview_button_pressed()
1671 folderview_property_cb(): open account prefs dialog when the
1672 property of the root folder of remote account is requested.
1676 * src/account.c: account_destroy(): unref account information in
1678 * src/folder.[ch]: folder_unref_account_all(): new. It unref the
1679 specified account information in all folders.
1681 folderview_rm_imap_server_cb()
1682 folderview_rm_news_server_cb(): destroy Folder first because
1683 folder_destroy() refers to account information.
1687 * src/account.c: account_find_from_item(): fixed a bug which didn't
1688 select the correct account.
1689 * inc_pop3_session_do():
1690 fixed the resource leak when SSL initialization failed.
1691 Immediately break from temporary event loop if cancelled.
1695 * src/account.[ch]: account_find_from_item(): new.
1697 compose_reply(), compose_forward(), compose_redirect()
1698 src/mainwindow.c: compose_cb(): select optimal account when
1700 * src/folder.[ch]: added FolderItem::apply_sub.
1701 * src/menu.[ch]: menu_find_option_menu_index(): new. It finds the
1702 index of option menu which contains the specified data.
1703 * src/prefs_folder_item(): added Compose tab, and the setting of
1708 * configure.in: added $LDAP_LIBS for lber library detection.
1716 * src/procmsg.c: procmsg_msginfo_get_full_info(): fixed a memory
1717 leak, and added error checking.
1721 * src/compose.[ch]: added a flag Compose::use_newsgroups, and
1722 removed Compose::orig_account.
1723 compose_check_for_valid_recipient(): check only enabled entries.
1724 compose_write_headers()
1725 compose_redirect_write_headers(): add Newsgroups header only
1726 when the entry is enabled.
1727 compose_send(): modified the method of finding a mail account
1728 from a news account so that it tries to match the From address.
1729 * src/send.c: send_message_queue(): enabled the queueing of news
1731 * src/news.[ch]: news_post_stream(): new.
1735 * configure.in: check lber first and use $LDAP_LIBS on the check
1740 * po/*.po: fixed many typos of format strings which will lead to
1741 crash (thanks to Sergey Vlasov).
1745 * src/procheader.c: procheader_parse_stream(): added Cc header
1746 to the target for full parsing.
1747 * src/procmsg.[ch]: procmsg_msginfo_get_full_info(): new. It
1748 returns the full message information from the given information.
1749 * src/compose.c: compose_reply(), compose_forward(): get full
1750 message information for Cc header.
1754 * src/inc.c: inc_account_mail(), inc_all_account_mail(): update
1755 IMAP4 and NNTP folder summary after checking those accounts.
1763 * src/prefs_common.c: prefs_compose_create(): modified the label
1764 of the option for Reply button.
1765 * configure.in: add -lldap and -llber to the 5th argument of
1766 AC_CHECK_LIB() for LDAP library detection.
1771 INSTALL.jp: updated.
1775 * src/mainwindow.c: toggle the behavior of Reply button between
1776 normal reply and reply-to-list.
1777 * src/prefs_common.[ch]: added an option to switch the function
1782 * src/compose.c: compose_new(): removed the workaround for XIM
1783 because it doesn't have any effect and only seems to cause
1788 * src/compose.[ch]: compose_reply(): added a flag for reply-to-ML.
1789 compose_parse_header(): parse also List-Post header.
1790 compose_reply_set_entry(): support reply-to-ML (fall back to
1791 normal reply if ML address is not found).
1794 src/summaryview.c: reorganized Reply menu and added 'Reply to
1796 * src/utils.[ch]: scan_mailto_url(): new. It scans mailto URL and
1797 returns newly allocated parameters.
1801 * src/account.c: account_read_config_all(): set account information
1802 to default before initializing with configuration file.
1803 * src/prefs_account.[ch]: prefs_account_new(): new. It returns a
1804 newly created account information structure initialized by
1805 the default settings.
1810 replace_address_in_edit(): check if newtext is NULL.
1811 completion_window_button_press(): fixed a memory leak.
1812 * src/pop.c: LOOKUP_NEXT_MSG(): don't expire messages whose
1813 recv_time is RECV_TIME_KEEP.
1814 pop3_getrange_uidl_recv(): only set get_all flag if
1815 ac_prefs->getall is set.
1816 pop3_retr_recv(): don't delete messages which are not received
1817 by filter, and set recv_time to RECV_TIME_KEEP in the case.
1818 * src/pop.h: added an enum RecvTime.
1819 * src/inc.c: inc_drop_message(): unlink temporary message file if
1820 not received by filter.
1824 * src/mainwindow.c: added 'Edit/Select thread' menu.
1825 * src/summaryview.[ch]: added 'Select thread' to the context menu.
1826 summary_select_thread(): new. It selects all messages of current
1831 * src/rfc2015.c: check_signature(): corrected error handling and
1836 * src/rfc2015.c: check_signature(): correctly remove the last empty
1837 line, and canonicalize the file part before verifying (this should
1838 fix incompatibility with Evolution or some other MUAs).
1839 * src/utils.[ch]: copy_file_part(): new. It copies the specified
1840 range of file stream to another file.
1844 * src/compose.c: compose_write_to_file(): force BASE64 encoding for
1845 8-bit text when signing (thanks to Colin Leroy).
1849 * src/prefs_common.c: prefs_send_create(): fixed the charset string
1850 for Cyrillic (Windows-1251).
1858 * src/codeconv.c: changed the charset for ru_RU.CP1251 to
1859 Windows-1251. Added bg_BG locale.
1863 * src/compose.c: account_activated(): change the state of menu items
1864 and entries according to the selected account.
1865 compose_select_account(): new. It changes the state of title bar,
1866 menu items and entries.
1870 * src/inc.c: inc_mail(): correct new_msgs when inc_spool() returned
1872 Don't refresh summary view on fetching when open_inbox_on_inc is
1877 * src/summaryview.c: summary_show(): refresh even if open_inbox_on_inc
1878 is set (to avoid summary refresh problem).
1879 * src/imap.c: removed warnings by checking the existence of directory
1880 before calling remove*_numbered_files().
1884 * src/prefs_common.c: corrected English.
1888 * src/prefs_common.[ch]: added an option: "Mark messages as read
1889 only when opened in new window".
1894 folder_tree_destroy()
1895 folder_write_list_recursive(): added sanity check.
1896 * src/imap.c: imap_scan_tree(): if folder->node is NULL and
1897 can't get session, create empty folder node (based on the
1898 Alfons' suggestion).
1902 * src/textview.c: textview_key_pressed(): pass GDK_Delete event to
1904 * src/summaryview.c: summary_key_pressed(): scroll correct TextView
1909 * src/news.c: news_scan_group(): fixed wrong message number
1914 * major refactoring for POP3.
1915 * src/inc.[ch]: moved Pop3State, inc_pop3_state_new(),
1916 inc_pop3_state_destroy(), inc_get_uidl_table(), and
1917 inc_write_uidl_list() into pop.c.
1918 Moved Pop3State::folder_table and Pop3State::inc_state into
1921 inc_put_error(): added lockbusy state.
1922 inc_pop3_session_do(): obtain inc_state from Pop3State::error_val.
1923 inc_cancel(): don't terminate the automaton here but just set
1924 the flags to prevent crash.
1926 pop3_getauth_pass_recv()
1927 pop3_getauth_apop_recv(): check lockbusy state.
1928 pop3_retr_recv(): check Pop3State::cancelled flag.
1929 * src/automaton.[ch]: added 'cancelled' flag to Automaton.
1930 automaton_input_cb(): terminate if cancelled flag is true.
1931 * sylpheed.desktop: changed Type=Internet to Type=Application.
1932 Added Categories=Application;Network;.
1938 src/progressdialog.c: show detailed information to the status
1940 Added cur_total_recv_bytes to Pop3State.
1941 * src/prefs_common.[ch]: added an option to specify whether to
1942 close receive dialog when finished.
1946 * src/folder.[ch]: folder_get_path(): new. It returns the root path
1950 imap_folder_destroy()
1952 imap_remove_all_msg()
1953 news_folder_destroy(): remove cache directories / files when
1954 deleting Folder / messages.
1958 is_file_entry_exist(): check if the argument is NULL.
1960 remove_numbered_files()
1961 remove_expired_files(): fixed memory leaks on error.
1970 src/smtp.[ch]: made Folder and Session destructor virtual method.
1974 * src/compose.c: do joining of normal lines only when auto-wrapping.
1975 * src/main.c: modified the warning message for GnuPG.
1976 * src/about.c: about_create(): modified the compiled-in features
1978 * configure.in: improved LDAP library checking (thanks to Alfons).
1988 compose_wrap_line_all(): backed out the change to join lines that
1993 * configure.in: require at least gpgme-0.3.5.
1997 * src/alertpanel.c: alertpanel_create(): minor modification.
2006 * src/alertpanel.c: alertpanel_create(): modified the layout.
2007 * src/rfc2015.c: check_signature(): don't abort on error.
2011 * src/compose.c: compose_wrap_line_all(): freeze widget only if
2012 required to repress flickers.
2016 * src/compose.c: improved line wrapping.
2018 compose_wrap_line_all(): also join lines that are not indented.
2019 dump_text(): handle multi-byte strings correctly.
2023 * src/compose.c: compose_wrap_line_all(): fix for auto-wrapping
2024 (go to next line when space is entered at line limit).
2028 * src/inc.c: inc_get_uidl_table(): fixed a memory leak reported by
2033 * src/mh.c: mh_scan_tree_recursive(): disabled Maildir folder
2034 checking to prevent confusion.
2038 * src/folder.[ch]: folder_item_get_msg_list(): added a wrapper for
2039 method Folder::get_msg_list().
2040 * src/account.c: account_edit_prefs(), account_delete(): use
2041 folderview_set_all() instead of folderview_rescan_all().
2042 * src/folderview.[ch]:
2043 folderview_check_new_all(): new. Updates all folders.
2044 folderview_rescan_tree(): confirm before executing.
2045 folderview_rescan_all(): commented out since it's not used anymore.
2046 folderview_update_item_foreach(): added a flag for summary update.
2047 * src/inc.c: inc_finished(): update summary only when
2048 prefs_common.scan_all_after_inc is set.
2049 inc_drop_message(): set mtime of target folder to 0 to force
2050 the updating of summary.
2051 inc_start(), get_spool(): update also summary when updating
2053 * src/mainwindow.c: changed 'File - Rescan folder tree' to
2054 'File - Check for new messages in all folders'.
2058 * src/compose.c: compose_write_to_file(): clearsign message body
2060 compose_clearsign_text(): new. Replaces the string with clearsigned
2062 * src/prefs_account.c: added an option for clearsign.
2063 * src/rfc2015.c: rfc2015_clearsign(): new.
2064 pgp_sign(): added a flag for clearsign.
2065 * src/utils.[ch]: get_tmp_file(): return newly allocated unique file
2066 name (needs to be freed by caller).
2067 str_write_to_file(), file_read_to_str(): new.
2071 * src/procmsg.c: procmsg_read_mark_file(): check key duplication
2072 to avoid memory leak.
2076 * src/base64.c: include string.h for memcpy().
2077 * src/gtksctree.c: use macro ABS() instead of function abs().
2078 * src/prefs_account.c
2079 src/prefs_common.c: renamed 'send' to 'p_send' so as not to
2080 conflict with the function send() in sys/socket.h.
2081 * src/mainwindow.c: commented out the unnecessary functions.
2082 * src/utils.c: canonicalize_file_replace(): correct warning message.
2086 * src/utils.[ch]: get_tmp_file(): new. Returns the directory for
2087 temporary files in ~/.sylpheed/.
2088 * src/main.c: create temporary directory in ~/.sylpheed/.
2090 src/inc.c: create temporary files in ~/.sylpheed/, and modified
2092 compose_exec_ext_editor(): fixed a bug that failed to create the
2093 temporary file if g_get_tmp_dir() returned directory other than
2098 * src/utils.c: copy_file(): check if dest_bak != NULL when unlinking.
2102 * src/utils.[ch]: canonicalize_file_replace(): fixed a bug that fails
2103 to replace the file when the given file and temporary file are not
2104 on the same filesystem.
2105 copy_file(): added a flag whether to keep backup.
2106 move_file(): added a flag whether to overwrite the destination file.
2110 * src/socket.[ch]: fixed the linking failure when IPv6 is enabled.
2111 * src/select-keys.c: modified key selection dialog.
2115 * src/socket.[ch]: my_gethostbyname(): new.
2116 * src/utils.c: get_domain_name(): return FQDN instead of short
2117 hostname (thanks to Bob Woodside).
2118 * src/template.c: made the debug messages less verbose.
2122 * src/prefs_common.[ch]: removed obsolete default sign key setting.
2123 * src/utils.c: canonicalize_file(): correct the error check of
2128 * src/compose.c: compose_write_to_file():
2129 canonicalize line endings before encrypting/signing (this will fix
2130 interoperability with other MUAs).
2131 Removed unnecessary strdup.
2132 Don't encrypt/sign draft message.
2134 canonicalize_file(), canonicalize_file_replace(): new.
2136 src/select-keys.c: changed g_message() to debug_print() and
2138 * src/mimeview.c: mimeview_check_signature(): removed unnecessary
2139 MIME structure scanning.
2140 * src/textview.c: textview_add_part(): show signature status in
2143 src/sigstatus.c: modified translatable strings and some MIME
2148 * src/procmsg.c: procmsg_save_to_outbox(): don't forget to remove
2149 the temporary file when saving from queue.
2155 src/prefs_account.[ch]
2156 src/prefs_common.[ch]: merged GnuPG stuff from the claws branch.
2157 Modified some messages.
2161 * src/textview.c: textview_scan_header(): fixed a memory leak
2166 * src/prefs_actions.c: execute_actions(): put create_io_dialog()
2167 in right conditional block.
2171 * src/compose.c: compose_wrap_line_all(): fixed character buffer
2177 log_error(): add time stamp to log messages.
2182 corrected a typo (HAVE_SYS_SELECT -> HAVE_SYS_SELECT_H)
2186 * src/socket.c: implemented socket I/O timeout.
2188 * src/pop.c: check errors and return error value correctly.
2192 * src/prefs_actions.c: made the action's input/output dialog display
2193 without delay. Made the dialog modal instead of making window
2194 insensitive. Also cleaned up its UI.
2198 * implemented --attach command line option.
2200 Cmd::attach_files: new member to store file paths.
2201 parse_cmd_opt(): added --attach option. --compose option is implied.
2202 prohibit_duplicate_launch()
2203 lock_socket_input_cb(): added "compose_attach" message.
2206 src/textview.c: renamed compose_new_with_recipient() to
2207 compose_new(), and added an argument for attachment files.
2211 * src/logwindow.c: freeze GtkText widget while hidden.
2212 log_window_append(): changed the header for message and warning.
2216 * src/news.c: implement automatic cache expiration.
2217 news_delete_expired_caches(): new.
2218 news_get_article_list(): fixed a bug that nonexistent messages
2219 were not removed from list.
2220 * src/procmsg.[ch]: procmsg_get_last_num_in_msg_list(): renamed
2221 procmsg_get_last_num_in_cache().
2222 * src/utils.[ch]: remove_expired_files(): new.
2227 inc_mail(): force summary refresh when using external command for
2229 inc_all_account_mail(): fixed a bug on spool checking failure.
2240 src/editldap_basedn.c
2242 src/prefs_common.c: fixed memory leaks which didn't free strings
2243 gtk_editable_get_chars() returned. And minor code cleanups.
2245 src/vcard.h: removed C++-style comments.
2249 * src/codeconv.c: conv_encode_header(): fixed a problem in encoding
2250 strings which include both multi-byte and us-ascii characters.
2254 * src/utils.c: remove_numbered_files(): don't try to unlink()
2257 conv_get_code_conv_func(): return conv_anytodisp() if charset is
2259 conv_unmime_header_overwrite()
2260 conv_unmime_header(): do conv_anytodisp() before decoding header.
2268 * src/compose.c: added 'Tools/Actions' menu.
2272 * src/base64.c: a minor fix for BASE64VAL() macro.
2276 * src/base64.c: base64_decode(): fixed a buffer overrun bug.
2284 src/base64.[ch]: rewrote the BASE64 encode / decode routines.
2285 base64_encode(), base64_decode(): new.
2286 * src/rfc822.[ch]: removed.
2288 src/about.c: removed the copyright notice for fetchmail.
2294 src/unmime.[ch]: rewrote the MIME decode routines.
2296 unmime_quoted_printable_line(): new.
2298 procheader_get_one_field()
2299 procheader_get_unfolded_line(): remove also CR.
2303 * libkcc: removed from the source tree.
2305 src/about.c: removed the copyright notice for libkcc.
2306 * src/codeconv.c: conv_guess_encoding(): check for ASCII code first
2308 * src/prefs_actions.c: removed unnecessary spaces/tabs.
2312 * src/prefs_actions.c: comply with the coding style.
2313 Modified the UI design.
2314 * src/mainwindow.c: main_window_set_menu_sensitive(): enable Actions
2315 menu when multiple messages are selected.
2319 * src/prefs_actions.[ch]: merged the 'Actions' feature from claws.
2320 update_actions_menu(): simplified the menu deletion.
2321 * src/mainwindow.c: added 'Actions' menu to Tools and Configuration.
2325 * src/codeconv.[ch]: implemented conv_jistoeuc(), conv_euctojis(),
2326 conv_sjistoeuc(), and conv_guess_encoding(). Removed the dependency
2331 * configure.in: added check for strchr.
2335 * src/prefs_common.[ch]
2336 src/inc.c: added an option to inhibit receive error dialog.
2340 * src/account.c: account_find_from_address(): support multiple
2341 addresses in header.
2345 * src/gtksctree.[ch]: changed GtkSCTree::anchor_row from gint to
2346 GtkCTreeNode* so that it won't become invalid after the row move.
2347 Removed dependency to gtkutils.c.
2348 * src/prefs_common.[ch]
2349 src/summaryview.c: summary_selected(): added an option to show
2350 message when cursor keys are pressed on summary view.
2356 src/compose.c: changed "host_alias" to "target_alias" so that it
2357 shows the correct system name on cross-compiling (thanks to
2362 * src/prefs_account.[ch]: added the option menu to force an
2363 authentication method for SMTP AUTH.
2365 src/smtp.[ch]: smtp_from(), smtp_auth(): added an argument to
2366 specify the authentication method for SMTP AUTH.
2367 smtp_ehlo(): allow AUTH responses that don't comply with the RFC.
2371 * src/prefs_common.[ch]
2372 src/compose.c: enabled "Wrap on input".
2376 * src/summaryview.[ch]
2377 src/mainwindow.c: added "Go to/{Prev,Next} new message" menu.
2378 Made some code cleanups.
2383 src/prefs_common.[ch]: added the hidden option to specify the
2384 policy of the vertical scrollbar on folder view.
2388 * src/messageview.[ch]:
2389 messageview_copy_clipboard(): fixed a bug that couldn't copy text
2391 messageview_get_current_textview(): new.
2392 messageview_get_text_widget(): removed.
2393 * src/quote_fmt_parse.y: quote message even if msginfo is empty.
2394 * src/compose.[ch]: implemented the "Paste as quotation" feature.
2395 text_inserted(): new callback for "insert_text" signal.
2396 Add quote mark to the pasted text if Compose::paste_as_quotation
2401 * src/compose.c: if the Content-Type of a file is text/*, check
2402 its content and set the optimal Content-Transfer-Encoding (thanks
2407 * src/textview.c: textview_key_pressed(): pass key press event to
2408 main window to activate menu shortcuts (thanks to Alfons).
2412 * src/folder.c: folder_build_tree(): use strtoul() instead of atoi()
2413 for mtime to prevent flooring.
2416 imap_move_msgs_with_dest()
2417 imap_copy_msgs_with_dest(): fixed a bug that prevented multiple
2419 imap_parse_envelope()
2420 imap_cmd_envelope(): use RFC822.HEADER instead of ENVELOPE to get
2421 full information of messages and simplify the parser. Also fixed
2422 the bug that References header was ignored on threading.
2423 imap_parse_one_address()
2424 imap_parse_address(): removed.
2425 imap_get_header(): new. It reads the RFC822 header and returns
2426 a newly allocated string.
2427 * src/procheader.[ch]: changed procheader_parse() to
2428 procheader_parse_stream() and added different interfaces for it.
2432 * po/zh_TW.Big5.po: fixed a mistake that caused a crash.
2440 * src/inc.c: inc_get_uidl_table(): fixed a bug that garbage time
2441 could be inserted into the hash table.
2442 inc_write_uidl_list(): a minor code cleanup.
2443 * src/mainwindow.c: main_window_get_current_state():
2444 make the state unexecutable on an empty folder.
2445 * src/summaryview.c: summary_sort(): don't sort on an empty folder.
2446 * src/pop.c: minor code cleanups.
2450 * src/prefs_account.c: CREATE_RADIO_BUTTONS(): fixed a typo and
2451 corrected the behavior of the radio buttons.
2455 * implemented 'Delete messages after N days' feature for POP3.
2457 inc_get_uidl_table()
2458 inc_write_uidl_list(): moved the location of UIDL list file from
2459 RC_DIR/uidl-* to RC_DIR/uidl/*.
2460 Added received time for each UIDLs.
2461 src/main.c: main(): create RC_DIR/uidl/ directory.
2462 src/pop.[ch]: LOOKUP_NEXT_MSG(): delete expired messages here.
2463 Added recv_time to Pop3MsgInfo.
2464 src/prefs_account.[ch]: added an option for the number of days for
2473 * src/folder.c: folder_set_missing_folders(): fixed a bug that
2474 caused multiplication of special folders on startup if their
2476 * src/folderview.c: folderview_remove_mailbox_cb(): modified the
2481 * src/compose.c: compose_reply(), compose_forward(): reverted the
2482 last change since it causes lockup problem.
2486 * src/compose.c: compose_reply(), compose_forward(): don't autowrap
2488 compose_new_with_recipient(): workaround for initial XIM problem.
2492 * src/mainwindow.c: sort ascending / descending order can be
2493 specified with separated menu items.
2494 Added "View/Sort/Don't sort" menu item.
2495 * src/summaryview.[ch]: summary_sort(): added an argument for
2500 * implemented persistent sort order.
2502 folder_build_tree(): read 'sort_key' and 'sort_type' attributes.
2503 folder_write_list_recursive(): write sorting state.
2505 src/summaryview.[ch]: summary_show(): sort if required.
2506 select the top node on descending sort.
2507 Removed SummarySortType and sorting state variables from
2515 src/prefs_account.[ch]: enabled NNTP over SSL.
2516 * src/nntp.c: nntp_group(): issue MODE READER command and retry
2517 when GROUP command once failed (this seems to avoid problems on
2518 some broken news servers).
2522 * faq/it/*.html: corrected DOS linebreaks.
2523 * faq/*/*.html: changed ">" to ".
2527 * src/prefs_account.c: prefs_account_protocol_activated(): hide
2528 unnecessary frames in SSL tab.
2534 src/prefs_account.[ch]: enabled STLS command in POP3.
2535 * src/account.c: account_clist_set_row(): display TLS setting.
2539 * src/compose.c: compose_send_later_cb(): support redirect function.
2542 src/prefs_account.[ch]: enabled STARTTLS command in IMAP4.
2544 src/smtp.[ch]: use SSLType instead of SSLSMTPType.
2548 * src/utils.[ch]: make_dir(): wrapper for mkdir() and chmod().
2549 * src/compose.c: compose_create(): removed unrequired lines.
2553 * src/news.c: news_scan_group(): fixed a bug that set the wrong
2554 values in some cases.
2555 * src/prefs_account.c: corrected English in Advanced - Folder
2560 * src/textview.c: textview_show_message(), textview_show_part():
2561 fixed a bug that GtkSText *text pointed the incorrect object.
2562 textview_add_part(): freeze GtkSText while adding RFC822 headers.
2563 textview_show_part(): fixed a bug that couldn't display single
2564 part MIME message as text.
2568 * src/compose.c: compose_redirect_write_to_file(): correct the target
2569 for change_file_mode_rw(). Check if fclose() succeeded. Unlink
2570 incomplete file when an error occured.
2575 compose_create(): disable menus for draft on redirection mode.
2576 compose_redirect_write_to_file(): correct the error handling of
2578 * src/prefs_common.c: turned off the "Display recipient on `From'
2579 column if sender is yourself" option by default.
2583 * src/compose.[ch]: implemented 'Redirect' (aka Bounce) feature.
2584 Based on the implementation of the claws branch.
2585 compose_redirect(): create a new window and make it uneditable.
2586 compose_redirect_write_to_file(): copy headers and body of
2587 original message except for some.
2588 compose_redirect_write_headers(): add extra "Resent-*" headers.
2589 compose_create(): set menu sensitivity for redirection mode.
2593 * src/codeconv.c: conv_encode_header(): fixed a bug that unnecessary
2594 space is inserted between encoded string and the following folded
2595 one (thanks to Masahiro Tomita).
2599 * src/mainwindow.[ch]: some refactoring has been made.
2600 main_window_toggle_message_view(): moved summary_toggle_view_real()
2602 * src/messageview.[ch]: messageview_is_visible(): new.
2603 * src/summary_search.c
2604 src/summaryview.[ch]: SummaryView::msg_is_toggled_on: removed.
2605 Instead use messageview_is_visible().
2609 * src/mainwindow.c: added 'Expand/Collapse all threads' menu.
2610 * src/summaryview.[ch]:
2611 summary_expand_threads(), summary_collapse_threads(): new.
2615 * src/mainwindow.c: Fixed the behavior of
2616 '/View/Show or hide/Folder tree' and
2617 '/View/Show or hide/Message view' toggle menu.
2618 Removed '/View/Toggle summary view' menu and integrated the
2619 function into '/View/Show or hide/Message view'.
2620 main_window_set_widgets(): change the state of toggle menu items.
2621 * src/prefs_common.c: prefs_keybind_apply_clicked(): updated menurc
2626 * src/mimeview.c: mimeview_set_multipart_tree(): show single part
2627 MIME contents other than text as children of message/rfc822 part.
2629 procmime_mimeinfo_next(): modified for message/rfc822 part which
2630 content-type is single part MIME.
2631 procmime_scan_multipart_message(): fix for nested message/rfc822
2632 part. Corrected the size of the contents of message/rfc822.
2633 * src/textview.c: textview_show_part(): extract the contents of
2634 multipart/* and message/rfc822. Some code cleanups.
2635 textview_add_parts(): new. It adds the all parts under a part to
2637 textview_clear(): reset body_pos and cur_pos.
2641 * src/addr_compl.c: modified so that it behaves better.
2642 get_address_from_edit(): ignore comma inside of brackets.
2643 completion_window_apply_selection(): new. Only apply the current
2645 completion_window_accept_selection(): removed.
2646 address_completion_complete_address_in_entry(): minor code cleanup.
2647 don't replace address in entry here.
2648 completion_window_select_row(): always apply clist selection to
2650 completion_window_key_press(): don't apply selection here.
2654 * src/imap.c: imap_create_folder(): keep trailing directory separator
2655 to create a folder that contains sub folder.
2659 * src/foldersel.c: sort tree with case insensitive.
2660 * src/mainwindow.c: allsel_cb()
2661 src/messageview.c: messageview_select_all(): fixed 'Select all'
2663 * src/mainwindow.c: removed common and account prefs button from
2668 * src/compose.c: compose_account_option_menu_create(): check if
2677 * manual/ja/*: updated the Japanese manual (thanks to Yoichi Imai).
2678 manual/en/*: updated the English manual.
2680 faq/it/*: added German and Italian FAQ.
2683 faq/fr/*: updated FAQs.
2685 src/mainwindow.c: added German and Italian language.
2689 * src/prefs_account.c: turn off "receive at get all" option by default
2690 when creating an IMAP or News account.
2694 * src/imap.c: imap_scan_tree(): don't use namespace for prefix.
2695 * src/prefs_folder_item.c: show also identifier path.
2696 Made layout using table. Show uneditable entry using background
2698 * src/procmime.c: procmime_get_tmp_file_name(): generate safe
2703 * src/automaton.[ch]: added UI callback to Automaton.
2705 src/pop.c: use callback instead of calling inc_progress_update()
2707 pop3_getrange_uidl_recv(): don't fall back to LAST when 'get all'
2712 * src/folderview.c: properly sort abbreviated newsgroups.
2717 src/prefs_common.[ch]
2718 src/summaryview.c: added an option to specify the minimum length
2719 for abbreviated newsgroups name.
2723 * src/folderview.c: folderview_check_new(): skip unselectable folders.
2724 * src/summaryview.c: added 'Create filter rule' to the context menu.
2725 * src/imap.c: some code cleanups.
2726 imap_scan_tree_recursive(): get path separator for each calls.
2727 imap_get_path_separator(): new.
2731 * src/imap.[ch]: supported namespace for others/shared folders
2733 imap_parse_namespace(): parse also others/shared namespace.
2734 imap_find_namespace(): search also others/shared namespace.
2736 strchr_parenthesis_close(): return pointer to closing parenthesis.
2737 strsplit_parenthesis(): split parenthetic list into array of
2742 * src/procheader.c: procheader_date_parse(): fixed a bug that didn't
2743 parse date string like "Mon,6 May 2002 20:31:12 +0800".
2744 procheader_scan_date_string(): new. Separated string scanning
2745 part from procheader_date_parse().
2749 * src/summary_search.c: summary_search_execute(): unlock while
2750 selecting summary row (thanks to Martin Schaaf).
2751 * src/summaryview.c: summary_set_column_titles(): reversed the
2752 direction of the arrow so that it matches with Win/Mac style.
2756 * src/compose.c: compose_write_headers(): quote self address name
2757 if required. Some code cleanups. Don't override Newsgroups and
2758 Cc with custom headers.
2759 * src/imap.c: imap_add_msg(): return UID for appended message.
2760 * src/compose.c: compose_queue(): check if queue folder exists.
2761 * src/imap.c: QUOTE_IF_REQUIRED(): quote also other IMAP special
2763 imap_open(): removed an unrequired argument.
2767 * src/utils.[ch]: trim_string(): new. It trim characters longer than
2768 the specified length and adds "...".
2769 * src/folderview.c: trim folder name when displaying dialog.
2773 * src/imap.c: imap_create_folder(): don't add prefix for root INBOX
2775 * src/folderview.c: folderview_select()
2776 src/summary_search.c: summary_search_execute(): lock summary view
2777 while searching (thanks to Martin Schaaf).
2785 * sylpheed*.png: added new app icons by WAKAI Kazunao (thanks!).
2789 * src/summaryview.c: summary_show(): fixed a bug that didn't process
2791 * src/account.c: account_edit_prefs(): fixed a crash bug when account
2793 * src/prefs_account.c: prefs_account_apply(): display error dialog
2794 if account name is empty.
2795 * src/imap.c: changed some log_print() to debug_print() to reduce
2800 * src/mh.c: mh_get_new_msg_filename(): new. It returns the filename
2804 mh_do_move_msgs_with_dest()
2806 mh_copy_msgs_with_dest(): use mh_get_new_msg_filename().
2807 * src/utils.[ch]: added is_file_entry_exist() which returns TRUE
2808 if stat() succeeded.
2810 imap_fetch_msg(): SELECT mailbox before FETCH if required.
2811 imap_scan_folder(): set last_num using the value of UIDNEXT.
2812 imap_select(): return immediately if there is no need for SELECT.
2813 preserve the path of currently selected mailbox.
2814 imap_status(): added UIDNEXT.
2818 * src/folder.c: folder_item_scan(): removed the warning.
2819 * src/inputdialog.[ch]: input_dialog_combo(): added an argument for
2820 setting case sensitivity.
2824 * src/mainwindow.c: main_window_create(): restrict the minimum size.
2828 * src/compose.c: merged the new line-wrapping routine.
2829 join_next_line(): fixed a bug that didn't join multibyte
2831 get_indent_length(): modified enums and variable names.
2832 INDENT_CHARS: don't indent ':'.
2834 folderview_rename_folder_cb()
2835 folderview_delete_folder_cb(): support folder identifier.
2836 folderview_rm_imap_folder_cb(): integrated with
2837 folderview_delete_folder_cb().
2841 * src/folder.[ch]: folder_item_scan(): return -1 if scanning failed.
2842 * src/folderview.c: folderview_check_new(): abort checking if
2843 folder_item_scan() failed.
2847 * src/imap.c: imap_create_missing_folders(): create only INBOX and
2849 * src/prefs_folder_item.c: prefs_folder_item_set_dialog(): made the
2850 type of news folders unchangeable.
2851 prefs_folder_item_destroy(): use prefs_dialog_destroy().
2852 * src/prefs.[ch]: prefs_dialog_destroy(): new.
2856 * src/prefs_account.[ch]: added special folder setting to Advanced
2857 tab. Also moved "IMAP server directory" setting to there.
2858 * src/account.[ch]: account_get_special_folder(): new. It returns
2859 the optimal special folder for accounts.
2860 * src/compose.c: use account_get_special_folder().
2861 * src/prefs_folder_item.[ch]: new. Implemented folder property
2862 dialog, and the special folder settings (most of the functions in
2863 claws are not integrated yet, and the structure is slightly
2865 * src/folderview.c: enabled Property menu.
2869 * src/textview.c: IS_RFC822_CHAR(): make email parser also stop
2870 scanning when encountering separators ',' and ';'.
2874 * src/mainwindow.c: reorderd the menu a bit.
2875 * src/compose.c: made 'Ctrl-Enter' ignore some modifiers.
2876 compose_reply_set_entry(): made 'Reply to sender' work for
2881 * src/compose.c: compose_create(): set geometry hints to restrict
2882 the maximum size of window.
2883 * src/imap.c: imap_parse_list(): don't mark INBOX as \Noselect.
2884 imap_get_uncached_messages()
2885 imap_cmd_fetch(): ignore responses which don't include FETCH.
2889 * COPYING: re-licensed (removal of "NO-VIRUS CLAUSE" and addition of
2890 the clause for OpenSSL).
2894 * src/prefs_account.c
2895 src/smtp.[ch]: fixed a bug that didn't complie with OpenSSL enabled.
2901 src/session.[ch]: first reorganization of SMTP protocol handling.
2902 SMTPSession: new class which is a sub class of Session.
2903 smtp_session_new(): moved send_smtp_open() into this function.
2904 smtp_from(): moved SMTP AUTH calls into smtp_auth().
2905 smtp_auth(): use server response for SMTP AUTH method.
2906 smtp_ehlo(): read server response and set auth type flags.
2907 smtp_helo(): separated EHLO command.
2908 smtp_ok(): return the last server response if the buffer is
2910 * src/esmtp.[ch]: merged into smtp.[ch].
2911 * src/imap.c: imap_session_destroy_all(): use session_destroy().
2915 * src/imap.c: imap_open(): show warning message if IMAP4 session
2916 can't be established.
2920 * src/compose.c: made template able to be inserted into the current
2922 * src/mainwindow.c: moved some menu items under the submenu
2923 '/View/Show or hide'.
2928 src/inc.c: changed folder_find_item_from_path() to
2929 folder_find_item_from_identifier().
2931 src/prefs_filter.c: use folder_item_get_identifier() to specify
2936 * src/folder.[ch]: implemented "folder identifier" (and fixed a bug
2937 existed in claws' implementation).
2938 folder_find_from_name(): find Folder from name and type.
2939 folder_get_identifier(): return Folder id.
2940 folder_item_get_identifier(): return FolderItem id.
2941 folder_find_item_from_identifier(): find FolderItem from id.
2942 folder_get_type_string(): return folder type string.
2943 folder_get_type_from_string(): return FolderType from string
2944 (and fixed the wrong g_strcasecmp() usage).
2946 src/import.c: use folder_item_get_identifier() and
2947 folder_find_item_from_identifier().
2951 * src/imap.c: imap_parse_atom(): fixed a bug that cur_pos didn't
2952 point the correct address after reading the continuous line.
2953 imap_scan_folder(): set new number to 0 if unseen number is 0.
2954 imap_parse_flags(): don't add new and unread flag if \Seen flag
2956 * ac/Makefile.am: removed gpgme.m4 from MACROS.
2960 * fixed the old problem that couldn't add flags to currently opened
2963 compose_send(): update outbox after saving.
2965 compose_draft_cb(): use procmsg_add_flags().
2966 * src/folder.[ch]: added "opened" flag and "mark_queue" list to
2968 * src/main.c: send_queue(): send from all queue folders.
2969 * src/mainwindow.c: send_queue_cb(): send from all queue folders.
2971 procmsg_flush_mark_queue(): new. Write all queued flags into file.
2972 procmsg_add_flags(): new. Add specified flags to the folder.
2973 procmsg_send_queue(): added an argument to specify queue folder.
2974 procmsg_save_to_outbox(): use procmsg_add_flags().
2975 * src/summaryview.c:
2976 summary_show(): up the opened flag of FolderItem.
2977 summary_clear_list(): down the opened flag of FolderItem.
2978 summary_write_cache(): call procmsg_flush_mark_queue().
2982 * src/summaryview.[ch]: trim the tail of folder name and selected
2983 number on the status label if the space is not enough.
2987 * src/imap.c: imap_create_special_folder(): fixed a bug that didn't
2988 set SpecialFolderItemType when creating special folders under
2990 * ac/gpgme.m4: removed.
2992 * ac/missing/gdk-pixbuf.m4
2993 ac/missing/gettext.m4
2995 ac/missing/imlib.m4: added for convenience.
2999 * src/esmtp.c: esmtp_auth(): fixed a bug that some garbages are
3000 shown after the decoded challenge string. Fixed a memory leak.
3002 * src/compose.c: compose_draft_cb(): mark draft messages as read.
3003 * src/folderview.c: folderview_update_node(): disable emphasis
3004 for Outbox and Draft folders.
3008 * src/messageview.c: messageview_show(): fixed a memory leak.
3009 * src/summaryview.c: summary_save_as(): show error dialog if copy
3011 * src/about.c: about_show(): make the window active if it is already
3016 * src/compose.c: show confirmation dialog before sending if Subject
3018 compose_check_entries(): new.
3020 compose_send_later_cb(): use compose_check_entries().
3021 * src/imap.c: imap_parse_atom(): more fix for parsing responses.
3025 * src/imap.c: imap_parse_atom(): fixed a bug that didn't parse the
3026 responses with continuous line correctly, and fixed a memory leak.
3030 * src/undo.c: undo_insert_text_cb(): fixed a crash bug if the text
3032 * src/gtkstext.c: gtk_stext_button_press(): cancel current selection
3033 after pasting with middle button to prevent the selection growth.
3038 folderview_rename_folder_cb()
3039 folderview_delete_folder_cb(): modify filter rules only if the
3040 target folder is in the default mailbox.
3041 * src/utils.c: get_abbrev_newsgroup_name(): removed a redundant
3048 src/prefs_common.c: changed 'Tool' menu to 'Tools'.
3049 Moved 'Delete duplicated messages' under 'Tools'.
3053 * src/folderview.c: SET_SPECIAL_FOLDER(): keep the same parent
3055 * src/imap.c: imap_create_special_folder(): fixed a crash bug
3056 when folder creation failed, and re-try to create folders under
3058 imap_scan_tree_recursive(): don't automatically add namespace
3059 prefix if it's INBOX. Search also under the INBOX for special
3061 * src/foldersel.c: SET_SPECIAL_FOLDER(): keep the same parent
3066 * src/utils.[ch]: get_abbrev_newsgroup_name(): new. It returns the
3067 abbreviated newsgroup name.
3068 * src/folderview.c: folderview_update_node(): display newsgroups
3069 with abbreviated name if name and path is the same.
3070 * src/summaryview.c: summary_status_show(): show the newsgroup with
3076 src/folderview.c: changed the label 'Draft' to 'Drafts'.
3077 * src/imap.c: changed the directory name 'Draft' to 'Drafts'.
3078 imap_create_missing_folders(): fixed the wrong assignment of
3079 Queue folder to draft.
3083 * enabled Sent / Draft / Queue folders on IMAP server.
3084 * src/compose.c: compose_queue(), compose_draft_cb(): use account's
3085 queue and draft folder if they exist.
3087 imap_create_trash(): removed.
3088 imap_create_special_folder(): new. Generalized imap_create_trash().
3089 imap_create_missing_folders(): automatically create missing folders.
3090 imap_is_msg_changed(): added the dummy method.
3091 imap_scan_tree_recursive(): search also Sent, Draft and Queue
3092 folders. Minor code cleanups.
3093 imap_parse_envelope(): check for null strings.
3094 src/procmsg.c: procmsg_read_cache(): add F_QUEUE or F_DRAFT flag
3095 for messages on IMAP folder.
3099 * src/compose.c: compose_send(): use account's outbox folder
3101 * src/procmsg.[ch]: procmsg_save_to_outbox(): changed the API so
3102 that the outbox can be specified.
3106 * src/compose.c: don't save to outbox when messages are queued.
3107 compose_save_to_outbox(): moved to procmsg.c.
3108 * src/procmsg.[ch]: procmsg_send_queue(): save to outbox when
3110 procmsg_save_to_outbox(): new. Removes the queueing headers if
3111 needed, and adds the given file to the outbox.
3115 * src/compose.c: compose_wrap_line(): treat '|' also as quote char.
3116 get_indent_length(): treat ':' and '#' also as quote char, and
3117 cleaned up using strchr().
3121 * src/mainwindow.c: modified some menu items.
3125 * src/defs.h: changed OUTBOX_DIR from "outbox" to "sent"
3126 (current "outbox" will be kept until rescan).
3127 * src/folder.c: folder_set_missing_folders(): create the missing
3130 src/folderview.c: changed 'Outbox' to 'Sent'.
3131 * src/main.c: call folder_set_missing_folders().
3132 * src/mh.c: mh_scan_tree(): create missing folders.
3133 * src/summaryview.c: summary_set_menu_sensitive(): fixed a bug that
3134 didn't set the menu sensitivity correctly.
3139 src/imap.[ch]: implemented folder renaming on IMAP (thanks to Mio).
3140 folderview_rename_folder_cb(): reopen the current folder when
3141 the ancestor is renamed.
3142 imap_rename_folder(): new method implementation.
3144 imap_rename_folder_func(): new.
3145 imap_remove_folder(): remove also the cache directory.
3149 * src/imap.c: implemented locale encoding <-> modified utf-7
3150 conversion, and supported i18n of folder name (thanks to Suzuki
3152 imap_path_separator_subst(): handle the escape characters of
3154 imap_modified_utf7_to_locale()
3155 imap_locale_to_modified_utf7(): new.
3156 imap_create_trash(): modified so that it create the Trash folder
3157 to the correct location when imap directory is specified.
3158 imap_get_real_path(): removed debug print.
3162 * src/socket.c: implemented timeout for DNS lookup and connect().
3163 sock_connect_by_hostname(): timeout support and code cleanup.
3164 sock_connect_with_timeout(): new.
3165 sock_peek(): implemented SSL peek.
3169 * src/messageview.c: messageview_show(): display single-part
3170 text/html messages with the normal text view.
3184 src/prefs_customheader.c
3185 src/prefs_display_header.c
3200 src/xml.c: added 'b' to the option of all fopen().
3208 * src/ssl.[ch]: match its coding style.
3209 * src/compose.c: compose_send_later_cb(): fixed a bug that failed
3213 faq/en/sylpheed-faq*.html
3215 faq/es/sylpheed-faq*.html
3217 faq/fr/sylpheed-faq*.html
3223 src/manual.[ch]: added FAQs in English, Spanish and French.
3227 * manual/en/sylpheed*.html: updated to the latest version.
3232 src/mgutils.c: include string.h to remove warning about strlen()
3246 src/summaryview.c: added break to the last label of switch to
3247 prevent the 'deprecated use of label at end of compound statement'
3249 * src/rfc2015.c: passphrase_cb(): fixed the type of r_hd.
3253 * src/inc.[ch]: preserve the pointer to IncProgressDialog to the
3255 inc_cancel_all(): new. It cancels the all current incorporation.
3256 * src/mainwindow.c: added 'Cancel receiving' menu.
3257 * src/textview.c: a minor fix for single-part MIME messages, and
3258 a bit of cleanup for textview_write_body().
3262 * src/inc.c: inc_write_uidl_list(): fixed a bug that lost UIDL
3263 information if any errors occured before issuing UIDL command.
3264 src/inc.h: added uidl_is_valid to Pop3State.
3265 src/pop.c: set uidl_is_valid to TRUE if UIDL becomes valid.
3273 * src/mimeview.c: mimeview_create(): set the initial notebook page
3275 * src/folderview.c: folderview_selected(): scroll the view if the
3276 selected row is hidden.
3277 * src/prefs_filter.c: prefs_filter_register_cb(): scroll the view
3278 and select the added row.
3279 * src/summaryview.c: fix threading for null message ids.
3283 * src/textview.c: textview_show_message(): follow message/rfc822
3285 textview_add_part(): add a caption before the attached text files.
3286 textview_show_header(): don't add the newline.
3287 * src/messageview.c: enabled message search also in MIME mode.
3291 * src/messageview.c: messageview_show(): set header state of
3292 MimeView's TextView, too.
3293 * src/mimeview.c: mimeview_show_message(): call
3294 textview_show_message() to display message.
3295 * src/textview.c: textview_add_part(): new. It adds the content
3296 of message part without clearing the view.
3297 textview_show_message(): display all parts with appropriate
3299 textview_write_body(): separated from textview_show_part().
3304 src/prefs_common.c: added ISO-8859-15 to the codesets for
3305 displaying and sending.
3306 * src/codeconv.c: conv_codeset_strdup(): return NULL if code
3307 conversion failed, and made caller deal with it.
3308 * src/compose.c: compose_write_to_file(): show error dialog when
3309 code conversion failed, and let user select whether to send it
3311 * src/textview.c: textview_write_line(): show the original string
3312 if code conversion failed.
3316 * src/inc.c: get_spool(): fixed a bug that failed to unlock mbox
3317 if copy_mbox() failed (thanks to Alexander Kabaev).
3318 * src/prefs_account.[ch]: added separate user ID / password setting
3320 * src/send.c: send_message_smtp(): use separate user ID / password
3321 for SMTP AUTH if it is specified.
3326 src/pop.[ch]: refactored the UIDL management.
3327 store the information of messages into the array of Pop3MsgInfo
3328 structure, and do full scanning of not retrieved messages.
3334 src/mainwindow.c: set WMCLASS for window/dialog.
3335 * src/codeconv.c: conv_codeset_strdup(): return source string
3336 when jconv_alloc_conv() failed.
3340 * src/mh.c: mh_scan_tree_recursive(): changed the hardcoded directory
3347 src/summaryview.c: implemented the new notebook tab interface for
3349 * src/textview.[ch]: fixed line space related glitches.
3353 * src/prefs_filter.c:
3354 prefs_filter_rename_path()
3355 prefs_filter_delete_path(): fixed a crash when flt->dest was NULL.
3359 * src/recv.[ch]: cancel data receiving if RecvUIFunc returns FALSE.
3360 * src/pop.c: pop3_retr_recv(): fixed false 'No space' when cancelled
3362 * src/inc.c: inc_pop3_recv_func(): abort data receiving when
3363 cancelled, and fixed potential crash bug.
3364 * src/grouplistdialog.c: enabled cancelling of data receiving.
3365 * src/news.c: news_get_group_list(): destroy current session if
3370 * src/manage_window.[ch]: fixed a bug that caused crash when
3371 the main window was hidden.
3372 MANAGE_WINDOW_SIGNALS_CONNECT(): new macro.
3373 Monitor "unmap_event", "destroy" events.
3380 src/grouplistdialog.c
3384 src/message_search.c
3388 src/prefs_customheader.c
3389 src/prefs_display_header.c
3391 src/prefs_template.c
3392 src/summary_search.c
3393 src/summaryview.c: use MANAGE_WINDOW_SIGNALS_CONNECT() macro to
3394 connect signals for window management.
3398 * src/prefs_account.[ch]: added receive size limit option.
3399 * src/pop.c: skip messages larger than the limit size.
3400 LOOKUP_NEXT_MSG(): new macro.
3401 * src/compose.c: compose_attach_append(): check whether the file
3406 * src/rfc2015.c: commented out dump_mimeinfo() and dump_part().
3407 changed g_message()'s to debug_print() and g_warning().
3408 rfc2015_decrypt_message(): fixed a bug that duplicated message
3409 parts when decryption was failed/cancelled. And made some code
3411 * src/passphrase.c: made the dialog transient.
3412 * src/prefs.c: prefs_config_parse_one_line(): removed debug_print().
3417 src/procmsg.[ch]: fixed a bug that failed to parse multipart
3418 messages if GPGME was enabled.
3419 * src/rfc2015.c: commented out copy_gpgmedata_to_temp() which
3421 * src/prefs_account.c: prefs_account_privacy_create(): modified
3422 the vertical spacing.
3426 * src/menu.[ch]: menu_set_sensitive_all(): new.
3427 menu_set_insensitive_all(): made it a wrapper for
3428 menu_set_sensitive_all().
3429 * src/prefs_account.c:
3430 prefs_account_open()
3431 prefs_account_protocol_set_optmenu(): made the protocol type
3432 unchangeable after creating an account.
3433 * src/compose.c: compose_attach_parts(): traverse MIME tree to
3434 extract all attathed files from nested multipart MIME message.
3438 * src/procmsg.[ch]: procmsg_get_mark_sum(): added arguments to
3439 obtain minimum/maximum number, and to specify first number
3442 src/inc.c: enabled new message checking on news folder.
3443 * src/news.c: news_scan_group(): implemented. Guess new/unread
3444 message number from the response of GROUP command and the mark
3446 news_select_group(): return the total/first/last number.
3447 * src/prefs_account.c: prefs_account_receive_create(): modified
3448 the text of the 'Get all' check button.
3452 * src/account.c: made 'Get all' checkbox available for IMAP4 and
3454 * src/inc.c: corrected the argument of folderview_check_new().
3455 * src/prefs_account.c: modification for the "`Get all' checks for
3456 new mail on this account" checkbox.
3460 * src/folderview.[ch]:
3461 folderview_rescan_tree(), folderview_rescan_all(): renamed from
3462 folderview_update_tree() and folderview_update_all().
3463 folderview_update_all_node(): removed.
3464 folderview_check_new(): new. If the argument is NULL, it checks
3465 all local folders. If the arguments is specified, it checks
3466 the (local and remote) folder.
3469 inc_all_account_mail(): check also IMAP4 account.
3474 folderview_rename_folder_cb()
3475 folderview_delete_folder_cb(): modify the filter rules when folder
3477 * src/prefs_filter.[ch]:
3478 prefs_filter_rename_path(): new. It renames the destination paths
3480 prefs_filter_delete_path(): new. It deletes the filter rules if
3481 the destination paths matched.
3482 * thanks to Neill Miller for above.
3486 * src/compose.c: inherit attached files when forwarding or reediting
3487 (rewrote the code in claws branch).
3488 compose_attach_parts(): new. It extracts and attaches the files
3489 in the given message.
3490 compose_attach_append(): chnaged the types of arguments.
3491 * src/messageview.c: messageview_show(): moved the GPG decryption
3493 * src/procmsg.[ch]: procmsg_open_message_decrypted(): new.
3501 * src/summary_search(): summary_search_execute(): scroll the view
3502 when message view is hidden.
3506 * src/foldersel.c: foldersel_set_tree(): made different type of
3507 folders selectable in moving mode.
3508 * src/folderview.[ch]: folderview_update_msg_num(): compare the
3509 numbers with the CTree's labels, and don't update folder_item here.
3510 * src/imap.c: imap_move_msg(), imap_move_msgs_with_dest():
3511 implemented moving between different type of folders.
3512 * src/mh.c: SET_DEST_MSG_FLAGS(): new macro.
3513 mh_do_move(), mh_do_move_msgs_with_dest(): new (renamed previous
3514 mh_move_msg() and mh_move_msgs_with_dest()).
3515 mh_move_msg(), mh_move_msgs_with_dest(): implemented message
3516 moving between different type of folders.
3517 mh_copy_msg(), mh_copy_msgs_with_dest(): some code cleanups.
3518 * src/summaryview.c: summary_status_show(): update folder_item
3520 * po/POTFILES.in: removed reference to headerwindow.c.
3521 * src/summaryview.c: summary_step(): fixed the behavior on the
3522 head and tail of the list.
3526 * src/mainwindow.c: main_window_set_menu_sensitive(): set 'Show
3527 all header' toggle state from the property of the TextView.
3528 * src/summaryview.[ch]: made 'All header' toggle switch.
3529 Prohibited unnecessary menu update.
3530 summary_select_node(): added the argument 'do_refresh'.
3535 * src/utils.c: strsplit_with_quote(): remove quotation characters
3536 in the function (fix composer's external editor problem) (thanks
3537 to Stefaan A Eeckels).
3538 * src/mainwindow.[ch]: made 'Show all header' toggle switch.
3539 main_window_menu_callback_block()
3540 main_window_menu_callback_unblock(): new.
3541 main_window_set_menu_sensitive(): set the toggle status of
3543 show_all_header_cb(): read the status of toggle menu item.
3544 * src/mainwindow.[ch]: made 'Thread view' toggle switch.
3545 * src/prefs_common.c: prefs_keybind_apply_clicked(): removed
3550 * src/imap.c: imap_add_msg(): fixed a bug that didn't replace
3551 the path separator (thanks to Sergey Vlasov).
3552 * src/gtkutils.c: gtkut_editable_get_selection(): return NULL
3553 if the length of selection is zero.
3554 Fixed the assertion.
3555 * src/utils.c: str_open_as_stream(): return immediately if
3556 the length of str is zero.
3557 * src/headerwindow.[ch]: removed.
3559 src/inc.c: removed stale thread support codes.
3563 * src/procmsg.c: procmsg_open_message(): modified so that it
3564 returns the stream of decrypted message file if it exists
3565 (this fixes the failure of gpg decryption in messageview.c).
3575 src/prefs_template.c
3577 src/quote_fmt_parse.y
3579 src/utils.[ch]: if the part of the message text is selected, use
3580 it for quoted text instead of the entire message body (thanks to
3582 src/utils.[ch]: str_open_as_stream(): new. It returns an
3583 temporary stream for the given string.
3584 * src/main.c: added "--send" command line option.
3585 * src/compose.c: compose_reply_set_entry(): add From address to
3586 Cc if Reply-To and to_all are both specified.
3587 * Makefile.am: correct the Source: line in the RPM spec file in
3592 * src/procmsg.c: procmsg_open_message(): fetch message if the cache
3594 * src/foldersel.[ch]: foldersel_folder_sel(): added an argument
3595 that specifies the folder selection type.
3606 src/prefs_customheader.c
3608 src/summaryview.c: made it compile with C compilers other than gcc
3609 (thanks to Shawn Houston).
3613 * src/imap.c: imap_copy_msgs_with_dest(): fixed a bug on traversing
3615 * src/prefs_common.c: made the key binding setting separate dialog.
3616 * src/addressbook.c: addressbook_format_address(): add "" around
3617 the display name if it contains comma (thanks to Satoshi Watanabe).
3618 * src/addr_compl.c: get_complete_address(): add "" around the
3619 display name if it contains comma.
3620 get_address_from_edit(): handle the quotation character correctly.
3621 * src/addr_compl.c: get_complete_address()
3622 src/addressbook.c: addressbook_format_address(): fixed a bug that
3623 caused wrong text processing if the display name is empty.
3628 * src/compose.c: compose_exec_ext_editor_real(): replaced
3629 g_strsplit() with strsplit_with_quote().
3631 src/folderview.c: folderview_drag_motion_cb(): minor code cleanups.
3633 folderview_drag_motion_cb()
3634 folderview_drag_received_cb(): allow dropping into IMAP4 folder.
3635 * src/utils.c: get_file_size_as_crlf(): use fgets() instead of
3639 imap_copy_msgs_with_dest(): use imap_add_msg() if the source
3640 of the message is different from the current mailbox.
3641 Return the correct value.
3642 imap_cmd_append(): properly implemented the APPEND command.
3647 src/messageview.[ch]
3648 src/summaryview.[ch]
3649 src/textview.[ch]: show all headers in the message view, and don't
3650 use the header window anymore.
3652 src/prefs_common.c: changed the default shortcut of 'compose new
3655 src/summaryview.[ch]: summary_display_msg_selected(): new.
3656 Show the selected message if 'Show all header' is selected.
3658 src/sourcewindow.c: changed some procmsg_get_message_file_path()
3659 to procmsg_get_message_file() to be sure the message is
3661 * src/folderview.c: folderview_drag_motion_cb(): allow DnD from
3662 any folder to MH folder.
3663 folderview_drag_received_cb(): copy messages instead of moving
3664 if the source folder is news or IMAP.
3666 src/summaryview.c: allow copy from news folder.
3670 * src/prefs_common.c: prefs_other_create(): modified the design
3671 of the external command settings.
3672 prefs_keybind_apply_clicked(): made the Mew / Wanderlust keybind
3673 preset closer to the original.
3674 Added Mutt keybind preset.
3675 Also change the compose keybinds.
3676 * src/compose.c: modified some menu shortcuts.
3677 * src/codeconv.c: modified the locale_table for Thai encoding.
3681 * src/Makefile.am: added $(GPGME_CFLAGS) to INCLUDES.
3682 * src/prefs_common.c: prefs_interface_create(): modified the
3683 description for menu shortcut.
3687 * src/gtkutils.[ch]: added gtk_stext_clear().
3690 src/summaryview.[ch]: enabled multiple forwarding.
3691 * src/summaryview.c:
3692 summary_set_marks_selected(): set marks for all selected row.
3693 summary_reply(): moved from summary_reply_cb().
3694 * compose.[ch]: compose_forward(): modified so that it receives
3696 * src/mainwindow.c: cleanup for reply processing.
3697 * src/summaryview.c: summary_reply(): fixed a memory leak.
3698 summary_key_pressed(): removed hardcoded mark / mark as unread
3701 src/prefs_common.c: added mark / mark as unread shortcuts to
3706 * src/compose.c: compose_wrap_line_all(): wrap quoted part even
3707 if prefs_common.linewrap_quote is not set (it is only for
3708 auto-wrapping on reply).
3709 * src/prefs_account.c: prefs_account_open(): initialize tmp_ac_prefs
3710 when creating a new account.
3711 * src/mh.c: mh_get_msg_list(): use also st_ctime to detect
3713 * src/prefs_common.c: prefs_interface_create(): modified the
3714 description of key binds selector.
3718 * src/mimeview.c: fixed multiple dialog / moving by correcting
3719 button / key event processing.
3721 src/textview.c: pass some key press events to MimeView in MIME
3723 * src/prefs_filter.c: fixed a bug that didn't set the order of
3725 * src/prefs_common.c: prefs_keybind_apply_clicked(): fixed
3726 empty_menurc string.
3731 src/prefs_common.c: reorganized the menu shortcuts.
3732 Added 'View - Toggle summary view'.
3733 * src/summaryview.[ch]: summary_toggle_view(): made it public
3735 * src/prefs_common.[ch]: swapped the position of 'Shortcut key'
3737 * src/importldif.c: imp_ldif_delete_event(): fixed segfault when
3738 closing the dialog with window manager (in more appropriate way).
3739 * src/imageview.[ch]
3741 src/mimeview.c: fixed wrong scrolling position when switching
3742 between text and image parts. Also free the unrequired image
3743 (thanks to Sergey Vlasov).
3744 * src/prefs_common.c: disabled 'Go to inbox after receiving new mail'
3749 * src/prefs_common.c: implemented shortcut quick changer.
3750 * src/folderview.c: folderview_key_pressed()
3751 src/summaryview.c: summary_key_pressed(): removed some hardcoded
3757 procmime_get_mime_type()
3758 procmime_get_mime_type_table(): made the MIME type search case
3761 gtk_stext_delete_line(): delete newline on empty line.
3762 gtk_stext_delete_to_line_end(): delete newline if cursor is on
3764 (thanks to Yasuzaki Masayoshi.)
3769 src/gtkstext.[ch]: removed the hardcoded shortcuts in GtkSText,
3770 and made them customizable.
3771 * src/utils.[ch]: added get_file_size_as_crlf() which returns
3772 the file size when converting LF to CR+LF.
3776 * src/compose.c: enabled 'Ctrl-Enter' or
3777 'Ctrl-(other modifier keys)-Enter' shortcut that didn't work
3779 * src/gtkstext.c: disabled some Emacs key bindings.
3780 gtk_stext_key_press(): don't extend selection when Shift-Enter
3781 is pressed to prevent the disapperance of cursor.
3782 * src/summaryview.c: summary_select_next_unread(): added the button
3783 to search unread message again from the beginning to the dialog.
3784 * src/folderview.c: folderview_key_pressed(): go to next unread
3785 folder if space key is pressed on the empty folder.
3786 Move CTree focus before selecting row.
3790 * src/defs.h: modified the XLFD of default fonts.
3791 * src/textview.c: textview_create(): fixed a bug that caused
3792 segfault if font couldn't be loaded.
3794 src/grouplistdialog.c: compare subscribed groups with path.
3795 * src/prefs_filter.c: changed 'Operator' to 'Condition'.
3799 * src/compose.c: compose_wrap_line_all(): fixed wrapping crash
3800 when URL is wider than wrapping margin.
3802 src/prefs_filter.[ch]
3803 src/summaryview.[ch]: added "Create filter rule" function based
3804 on the patch from Luca Rosellini.
3805 * src/summaryview.c: summary_filter_open(): added X-List and
3806 X-Mailing-list to the automatically detected headers.
3810 * configure.in: support Mac OS X (Darwin).
3814 * src/prefs_filter.c: use inc_(un)lock() instead of
3815 inc_autocheck_timer_{remove|set}().
3816 * src/summaryview.c: summary_sort(): use gtk_ctree_sort_recursive()
3817 instead of gtk_ctree_sort_node() so that messages within threads
3819 * src/procmsg.c: procmsg_read_mark_file(): fixed a bug that the
3820 target of sizeof was wrong and caused crash on Alpha architecture
3821 (thanks to Motonobu Ichimura).
3826 foldersel_gnode_func(): made the names of special folders
3828 foldersel_set_tree(): move the special folder to the top.
3829 * src/inputdialog.[ch]: input_dialog_query_password(): new.
3833 src/send.c: use input_dialog_query_password() instead of their
3834 own query functions.
3838 * src/defs.h: modified the default font.
3842 src/news.[ch]: moved the class definition and some methods to
3843 the proper location.
3847 * src/mimeview.c: mimeview_save_as()
3848 src/summaryview.c: summary_save_as(): put the default filename
3849 based on the subject.
3850 * src/utils.[ch]: added subst_chars() and subst_for_filename()
3851 which substitute some special characters with underscore.
3852 * src/filesel.c: filesel_select_file(): select the default filename.
3857 INSTALL.jp: added the description and the URL for libjconv.
3858 * src/mainwindow.c:&nb