3 * src/folder.h: added 'updated' flag to FolderItem.
4 * src/folderview.[ch]: folderview_update_all_updated(): new. It
5 updates all updated folders.
6 * src/imap.c: set FolderView::update flag on changes of contents.
7 * src/main.c: send_queue()
8 src/mainwindow.c: send_queue_cb(): code cleanup.
9 * src/mh.c: code cleanup.
10 mh_scan_folder(): correctly count new messages.
11 * src/procmsg.[ch]: code cleanup.
12 procmsg_open_cache_file(): new.
13 procmsg_open_mark_file(): enable read/write/append.
14 procmsg_send_queue(): correctly choose outbox for accounts.
15 * src/send_message.[ch]: send_get_queue_info(): get a queue
16 information from queued messages.
17 send_queue_info_free(): free QueueInfo.
18 send_message_queue(): take QueueInfo as an argument instead of file.
19 * src/summaryview.c: summary_write_cache(): code cleanup.
23 * src/compose.c: compose_redirect_write_headers(): correctly add
28 * src/imap.c: imap_get_msg_list(): fallback to FETCH command if SEARCH
29 command to get flags failed.
30 imap_search_flags(): returns UID array and flags hash table using
32 imap_fetch_flags(): returns UID array and flags hash table using
37 * src/summary_search.c: summary_search_execute(): fixed 'Select all
38 matched' when backward search is enabled.
39 Made the backward search button insensitive when 'select all
48 * src/imap.c: imap_scan_tree(): check the existence of root directory
49 with LIST instead of STATUS.
53 * src/send_message.c: fixed format string bug (exploitable by
54 malicious SMTP server) when calling alertpanel_error()
55 (thanks to Georgi Guninski).
62 src/news.[ch]: refactoring of the folder system (based on the claws'
71 src/summaryview.c: use FOLDER_TYPE() macro at every place.
80 addressbook_folder_load_person()
81 addressbook_folder_load_group(): sort the ctree after the end of
82 the loop (fixes performance issue when many addresses are in one
83 folder) (thanks to christian mock).
87 * src/folderview.c: folder_init(): code cleanup.
88 * src/summaryview.c: summary_init(): check if boldfont is
90 * src/grouplistdialog.c: use proper callback for delete_event (thanks
92 * src/imap.c: allow zero-length messages.
93 * src/recv.c: recv_bytes_write(): return immediately if size == 0.
97 * src/folderview.c: folderview_init(): if font can't be loaded, fall
98 back to gtk default (fixes crashes on startup). Also removed the
103 * src/compose.c: compose_insert_sig(): insert signature at the
104 current cursor position on manual operation.
108 * src/summaryview.c: summary_key_pressed(): don't ignore delete key
109 even if the main window is locked.
113 * src/action.c: improved synchronous action exit code (fixes long
114 delay after action exit on RH9) (thanks to Melvin).
115 * src/stringtable.[ch]: string_table_insert_string(): modified the
116 code to remove the warning "dereferencing type-punned pointer will
117 break strict-aliasing rules".
118 Use const gchar * instead of gchar * for arguments.
122 * src/utils.[ch]: generate_mime_boundary(): a new function to create
123 MIME boundary (moved from rfc2015.c).
124 Removed more special characters.
125 Use random() instead of lrand48() which is obsolete.
126 Added an argument for prefix to prevent duplication.
127 Always add "=_" as a counter-QP sequence to simplify the code.
129 rfc2015_decrypt_message()
131 rfc2015_sign(): fixed a bug that didn't handle continuous content
134 src/rfc2015.c: use generate_mime_boundary().
139 folderview_delete_folder_cb()
140 folderview_remove_mailbox_cb(): close currently displayed folder
141 before removing FolderItem (fixes crash on deleting folder).
143 src/imap.[ch]: imap_scan_tree()
144 src/mh.[ch]: mh_scan_tree(): return -1 when scanning failed.
145 * src/summaryview.c: summary_clear_all(): also clear the message view.
146 * src/imap.c: imap_close(): fail if the specified folder is not
148 imap_scan_tree(): check if the specified root directory exist, and
149 try creating it if not.
150 imap_parse_list(): output warning if a server returns error.
151 imap_find_namespace_from_list(): support not slash-delimited path.
152 imap_status(): don't return values if they're not specified.
156 * sylpheed.spec.in: fixed a typo.
167 src/prefs_common.[ch]: added the receive dialog's option to
168 display the dialog only on manual receiving, and the
169 RECV_DIALOG_ACTIVE option was removed.
173 * src/compose.c: compose_write_headers(): also replace ':' in the
174 MIME boundary with '_' (as a workaround for broken servers).
178 * src/imap.c: imap_scan_tree_recursive(): fixed compile error.
182 * src/prefs_filter.c: added 'Top' and 'Bottom' button.
186 * src/folder.[ch]: folder_item_remove_children(): new. It removes
187 all children under a FolderItem.
188 * src/folderview.c: folderview_rescan_tree(): modified the message.
189 * src/imap.c: imap_scan_tree(), imap_scan_tree_recursive(): reuse
190 the previous FolderItem objects.
194 * src/folder.[ch]: added a reference to its own GNode in FolderItem.
195 folder_item_remove(): free all FolderItem's.
196 folder_tree_destroy(): use folder_item_remove().
197 * src/folderview.c: folderview_sort_folders(): keep the order even
198 if special folders' parents are different.
199 * src/imap.c: imap_scan_tree_recursive(): fixed a memory leak.
200 * src/mh.c: mh_scan_tree(): preserve the previous FolderItem's.
201 mh_remove_missing_folder_items(): scan the directories and remove
203 mh_scan_tree_recursive(): reuse the previous FolderItem objects.
207 * src/mainwindow.c: always reflect window size changes.
208 * src/folderview.c: folderview_init()
209 src/summaryview.c: summary_init(): realize the widget before
211 * src/prefs_common.[ch]: remember the folder and mesage view's
217 src/prefs_common.[ch]: remember the size and position of
219 main_window_set_widgets(): fixed a bug that the hidden items on
220 the header view were shown when changing the view type.
221 Instead of setting the window size, set the each view's size.
225 * src/compose.c: compose_select_account(): don't append signature
227 compose_insert_sig(): don't insert "\n\n" if signature string
228 doesn't exist. Always insert signature at the end of message.
232 * improved sylpheed.spec.in (thanks to Andre Oliveira da Costa).
236 * minor code cleanups for the folder system.
237 * src/compose.c: compose_queue(), compose_draft_cb(): code cleanup.
238 * src/folder.c: code cleanups.
240 src/mh.c: calculate message numbers inside the functions.
241 * src/procmsg.c: procmsg_set_flags(): calculate message numbers.
242 * src/summaryview.[ch]: don't calculate and preserve message numbers
251 src/summaryview.c: renamed *_msgs_with_dest() to *_msgs().
255 * src/imap.[ch]: use CAPABILITY to use protocol extentions.
256 imap_greeting(): parse initial server greeting. Also support
259 imap_cmd_append(): use APPENDUID responses if UIDPLUS is supported.
263 * src/imap.c: imap_get_flag_str(): fixed a buffer overrun.
271 * src/main.c: main(): don't save config files on startup.
276 imap_get_msg_list(): removed redundant UID SEARCH ALL when not
278 Unset MSG_NEW flag if \Seen is set.
279 imap_get_uncached_messages(): fetch all messages if both first_uid
284 * src/imap.c: revamped the implementation so that it always
285 exactly reflects the state of IMAP4 servers.
286 imap_get_msg_list(): examine the state of messages using
288 imap_delete_cached_message(): removes single message cache.
289 imap_get_uid(): removed.
290 imap_cmd_search(): new. It issues UID SEARCH command and returns
292 imap_cmd_gen_recv(): made the length of strings unrestricted.
293 imap_get_uid_table(): returns a hash table from UID array.
300 src/news.[ch]: added Folder::close() method.
301 * src/summaryview.c: summary_clear_list(): call folder_item_close().
305 * flags are now taken over when copying messages into IMAP folders
312 mh_add_msgs(): flags can be also specified when adding files.
313 * src/folder.[ch]: added assertions for virtual functions.
314 * src/procmsg.[ch]: procmsg_get_message_file_list(): return the list
316 procmsg_message_file_list_free(): new.
320 * src/procmsg.h: changed MsgPermFlags and MsgTmpFlags from enum to
321 guint32 for portability (thanks to Alfons).
322 * src/imap.c: imap_add_msgs(): removed redundant unlink().
327 session_read_msg_cb()
328 session_read_data_cb(): fixed a bug that ran into infinite loop
329 if connection was closed by remote host (thanks to Yoichi Imai).
330 Added SESSION_EOF state to SessionState.
331 session_is_connected(): new.
332 * src/inc.[ch]: inc_put_error()
333 src/send_message.c: send_put_error(): also put log messages.
337 * more optimization of IMAP4.
338 * src/folder.[ch]: added a method add_msgs() that adds multiple files
340 Removed redundant scan() for the operations of FolderItem.
341 * src/imap.[ch]: implemented Folder::add_msgs() and optimized move
342 and copy from other Folder instances.
343 * src/mh.[ch]: implemented Folder::add_msgs() and cleaned up the code.
344 mh_fetch_msg(): scan folder if required.
345 * src/procmsg.[ch]: procmsg_get_message_file_list(): returns file
346 list from message list.
347 * src/summaryview.c: don't remove MSG_MARKED flags on
348 delete/move/copy operation.
349 summary_display_msg_full(): removed redundant message fetching.
353 * optimized move/copy/delete/mark operations of IMAP4 by using
354 sequence set when issuing commands (adopted claws' implementation
355 with cleaning it up).
357 imap_set_message_flags()
360 imap_cmd_store(): take sequence set string instead of UID number.
361 imap_do_copy_msgs_with_dest(): optimized by using sequence set.
362 imap_cmd_fetch(): use BODY.PEEK instead of BODY.
363 imap_remove_all_msg()
364 imap_set_message_flags(): use FLAGS.SILENT instead of FLAGS.
366 src/summaryview.c: use imap_msg_list_{set,unset}_perm_flags()
367 instead of issuing commands for each message.
372 src/prefs_account.[ch]
374 src/session.[ch]: added an option to enable/disable non-blocking
379 * src/compose.c: compose_attach_append(): display message's subject
380 when attaching message/rfc822 file.
387 session_read_msg_cb()
388 session_read_data_cb(): optimized by removing sock_peek() and
389 buffering received data in user space (correctly implemented
394 * src/session.c: reverted the previous change because it couldn't
395 handle data receiving after messages correctly.
401 session_read_msg_cb(): optimized by removing sock_peek() and
402 buffering messages in user space.
406 * src/imap.[ch]: refactored.
407 Changed all functions that have SockInfo arguments to take
409 Made imap_cmd_count an instance variable: IMAPSession::cmd_count.
410 imap_open(): only establish TCP (or SSL) connection.
411 imap_session_new(): process greeting and authentication here.
415 * src/imap.[ch]: implemented CRAM-MD5 authentication, and made code
417 * src/prefs_account.[ch]: added option menu for IMAP4 authentication
418 type in Receive tab, and hide other protocols' frames.
422 * src/mainwindow.c: send_queue_cb(): don't scan folder twice if
424 * src/procmsg.c: procmsg_send_queue(): return number of sent
430 main_window_set_toolbar_sensitive()
431 main_window_set_menu_sensitive(): removed the locking of file
432 operations while receiving mail.
436 * src/folder.[ch]: folder_item_remove_msg(): take MsgInfo as an
437 argument instead of message number.
438 * src/imap.[ch]: imap_remove_msg(): reimplemented using
440 * src/mh.[ch]: mh_do_move(): reimplemented using
441 mh_do_move_msgs_with_dest().
442 mh_copy_msg(): reimplemented using mh_copy_msgs_with_dest().
443 * src/procmsg.c: procmsg_send_queue(): modified to use message list.
447 * src/rfc2015.c: rfc2015_is_encrypted(): check MimeInfo::mime_type
448 to suppress some warnings.
449 * src/logwindow.c: log_window_append(): don't scroll up when trimming
454 * src/compose.c: add 'Content-Disposition: inline' to a text/plain
455 part when using PGP/MIME signing.
463 * src/defs.h: changed UI_REFRESH_INTERVAL from 40msec to 50msec.
464 * src/session.c: session_read_msg_cb(): make it always fail if
465 sock_read() returns by error.
466 * src/socket.[ch]: sock_check(): handle exceptional SSL condition.
467 sock_has_pending_data(): removed.
468 Removed debug output.
469 * src/send_message.c: send_recv_message(): display messages to
474 * src/inc.[ch]: update received message number on CList while
476 * src/session.c: session_read_data_cb(): optimized by removing
477 g_malloc() and memcpy().
481 * src/socket.[ch]: sock_add_watch(): new. It monitors SSL by original
482 watch functions (otherwise uses g_io_add_watch()).
483 * src/session.[ch]: removed previous workarounds, and replaced
484 g_io_add_watch() with sock_add_watch().
488 * src/socket.[ch]: added sock_has_pending_data() which returns TRUE
489 if socket has pending data.
490 * src/session.c: session_recv_msg(), session_recv_data(): check if
491 socket has pending data and call the callbacks immediately in that
492 case (fixes the hang at ESMTP EHLO on SSL).
496 * src/socket.c: check return value in SSL functions.
500 * src/mimeview.c: mimeview_init(): initialize TextView to prevent
501 slowdown caused by GTK+ themes (thanks to Yuri Arapov).
505 * src/session.c: session_read_data_cb(): clear Session::read_data_buf
506 before calling callbacks.
510 * src/socket.c: made socket connection protocol independent.
511 * src/session.c: removed debug g_print().
512 * src/inc.c: made status bar output less verbose, and show counter
513 on main window's progressbar.
517 * src/session.c: added missing #include <errno.h>.
521 * src/session.[ch]: reimplemented the Session system with non-blocking
522 I/O to solve the performance and the code design issue.
523 * src/socket.[ch]: added sock_connect_async() and
524 sock_connect_async_cancel() to enable asynchronous connection.
525 sock_peek(): modified the implementation.
526 * src/pop.c: optimized the receiving of the responses of
531 * src/procmsg.c: procmsg_get_thread_tree(): prevent threading problems
532 when a node is an ancestor (parent / great parent), which mostly
533 happens with circular references (thanks to Phillipe Gramoulle
534 for finding an sample set of messages, and Alfons for the patch).
538 * src/pop3.c: pop3_get_uidl_table(): return empty hash table even if
539 UIDL list is not found (fixes inability of initial retrieval).
543 * src/main.c: added the option '--status-full' which shows the status
544 of each folder specified. The option '--status' also takes
545 following arguments for folders (thanks to Yuri Arapov).
546 * src/folder.[ch]: folder_get_status(): new. it takes the array of
547 folders as the argument and returns their status.
548 folder_count_total_msgs(): removed.
558 src/inputdialog.c: use gtk_main_iteration() instead of gtk_main()
559 to prevent abort when a button is double-clicked.
563 * src/addr_compl.c: invalidate_address_completion(): check if
564 g_completion_list is NULL (thanks to Kazuhiro NISHIYAMA).
568 * src/pop.c: pop3_session_recv_data_finished(): fixed a bug that
569 deleted messages that is to be kept on server (thanks to Tristan
579 sock_set_io_timeout(): new. It sets the timeout interval.
580 sock_gdk_input_add(): removed since it's not used anymore.
581 * src/prefs_common.[ch]: added an option to set the timeout parameter.
585 * src/action.c: fixed a bug that didn't hide user string in
586 create_io_dialog() (thanks to Markus Amersdorfer).
587 Removed ChildInfo::type and added Children::action_type.
591 * src/inc.c: inc_start(): ask every password before retrieving.
592 Don't popup the redundant error dialog.
594 inc_all_account_mail()
595 inc_progress_dialog_set_list(): separated account list display
597 inc_progress_dialog_set_label()
598 inc_recv_data_finished()
599 inc_recv_message(): properly update the dialog when RETR finished.
604 imap_modified_utf7_to_locale()
605 imap_locale_to_modified_utf7(): fixed compilation failure when not
610 * src/procmime.c: procmime_scan_multipart_message(): fixed parsing
611 of message/rfc822 parts.
615 * src/pop.c: pop3_ok(): detect timeout error.
619 * src/imap.c: imap_locale_to_modified_utf7(): fixed the encoding bug
620 when locale strings include '+'.
621 imap_modified_utf7_to_locale()
622 imap_locale_to_modified_utf7(): at least escape/unescape '&' even
623 if iconv() is not supported.
629 compose_get_signature_str(): include separator in signature string.
630 Don't insert separator if signature file is not found.
631 Disabled use of implicit default signature path (~/.signature) when
641 src/quote_fmt_parse.y
642 src/smtp.c: suppress warnings that gcc-3.3 issues.
643 src/stringtable.c: use string_entry_free().
647 * src/compose.c: compose_insert_sig(): fixed the bug that always
648 appended signature separator if signature file was not found.
649 compose_get_signature_str(): fixed the bug that caused crash if
650 signature file cannot be opened.
658 * src/session.c: session_recv_msg(): removed debug print.
665 imap_cmd_fetch(): check for data size that servers return (fixes
666 vulnerability found in BugTraq).
670 * src/addr_compl.c: get_complete_address()
671 src/addressbook.c: addressbook_format_address()
672 src/compose.c: QUOTE_IF_REQUIRED(): quote if name contains
673 characters that is not defined in atext (RFC 2822, 3.2.4. Atom).
674 * src/main.c: main(): set colormap and visual to solve color problem
675 in Solaris (thanks to Markus Schwarzenberg).
683 * src/prefs_account.c: temporarily removed POP before SMTP option.
687 * src/prefs_common.[ch]: changed the description of "Open message when
688 cursor keys are pressed on summary".
689 * src/summaryview.c: summary_show(): open message when always_show_msg
694 * src/logwindow.[ch]: restrict the maximum lines of the log messages
695 to reduce the memory usage.
699 * src/compose.c: compose_insert_sig(): fixed a crash when signature
700 string contains illegal sequence.
701 * src/utils.[ch]: changed get_wcs_len() to get_mbs_len() for accuracy.
705 * major refactoring of MIME structure.
706 * src/procmime.c: procmime_scan_message(): decrypt message if
707 gpgme is enabled. Create multipart tree only if content-type is
708 multipart/* or message/rfc822.
709 procmime_scan_multipart_message(): fixed the scanning of
711 * src/action.c: parse_append_msgpart()
712 src/messageview.c: messageview_show()
713 src/mimeview.c: mimeview_show_message(): use procmime_scan_message()
714 instead of procmsg_open_message() and procmime_scan_mime_header().
715 mimeview_set_multipart_tree(): conform to the new MIME structure.
716 * src/textview.c: textview_show_part(): removed unnecessary check.
717 * src/procmsg.c: procmsg_open_message_decrypted(): fixed the file
718 pointer when decryption failed.
722 * src/ssl.c: ssl_init_socket_with_method(): replaced log_warning()
723 by g_warning(), and log_print() by debug_print().
724 * src/pop.[ch]: added an error code PS_NOTSUPPORTED, and retry with
725 LAST if UIDL is not supported.
729 * src/codeconv.c: conv_get_code_conv_func(): convert to EUC-JP only
730 if it is the current locale encoding when dest_charset_str is NULL.
734 * src/action.c: execute_actions(): fixed crash when no text widget
735 is selected (thanks to Paul and Melvin).
737 src/prefs_actions.c: added missing reference to Claws team in the
744 session_send_data(): fixed a memory leak and data sending bug.
745 * src/send_message.c:
746 send_message_smtp(): fixed focus management.
750 * src/smtp.[ch]: set the response string to SMTPSession::error_msg
752 * src/send_message.c: show error dialog if error occurred.
753 * src/main.c: send_queue()
754 src/mainwindow.c: send_queue_cb(): don't show error dialog here.
758 * src/session.c: session_close(): kill child process only if
759 state is not SESSION_DISCONNECTED.
760 * src/send_message.c: send_cancel_button_cb()
761 src/inc.c: inc_cancel(): don't set Session::state to
762 SESSION_DISCONNECTED.
763 * src/prefs.[ch]: modified the names of prefs_write_*().
764 * src/address.[ch]: removed.
768 * src/compose.c: compose_template_apply(): overwrite recipients.
772 * src/procheader.c: procheader_date_parse(): removed debug print.
773 * src/session.c: changed every g_print to debug_print.
774 session_child_input(): removed unrequired session_close() (it'll
775 be closed anyway after returning FALSE).
776 * src/send_message.c: send_message_smtp(): changed g_print to
781 * src/procheader.c: procheader_procheader_date_parse(): don't add
782 local timezone offset if timezone is unknown.
783 Made the Y2K workaround code to follow RFC 2822.
784 procheader_scan_date_string(): workaround for date strings which
785 don't have timezone specification.
786 * src/utils.c: remote_tzoffset_sec(): return -1 if timezone is
791 * src/action.[ch]: refactored. Also fixed a bug on MIME mode, and
792 some memory leaks on error.
793 action_update_msgview_menu(): new.
794 * src/messageview.[ch]: added "Tools/Actions" menu. Keep window list.
795 messageview_get_selected_mime_part(): returns MimeInfo of selected
796 part when MessageView is in MIME mode.
797 * src/mimeview.[ch]: mimeview_get_selected_part(): returns MimeInfo
799 * src/summaryview.[ch]: summary_get_selected_msg_list(): returns
800 MsgInfo list of selected messages.
804 * src/prefs_filter.[ch]: include original message's headers as
805 the preset keywords. Modified the sizes of the widgets.
806 * src/utils.[ch]: added str_case_equal() and str_case_hash() for
807 case-insensitive hash.
811 * src/procmsg.c: procmsg_get_filter_keyword(): added X-Sequence to
812 auto-detected headers.
816 src/mainwindow.c: modified function names.
817 get_user_string(): Use input_dialog() instead of its own
822 * src/codeconv.[ch]: conv_encode_header(): don't include '(' and ')'
823 in encoded strings if addr_field is TRUE.
824 * src/compose.c: compose_convert_header(): added a flag 'addr_field'.
828 * src/prefs_actions.[ch]: separated action execution routine into
833 * src/prefs_actions.c: minor code cleanup.
837 * src/codeconv.[ch]: conv_iconv_strdup(): fixed the handling of
843 inc_recv_data_progressive()
844 inc_recv_data_finished()
847 send_send_data_progressive()
848 send_send_data_finished(): added assertion.
852 * src/codeconv.[ch]: conv_iconv_strdup(): fixed potential memory
857 * src/codeconv.[ch]: conv_iconv_strdup(): don't include nul character
858 in source buffer since it messed up some encoding conversion (like
863 * src/procmsg.c: procmsg_get_filter_keyword(): unfold headers and
864 extract ID from List-Id header.
865 * src/utils.[ch]: extract_one_parenthesis_with_skip_quote(): removed.
866 extract_list_id_str(): extract ID string from List-Id header.
870 * src/prefs_actions.c: merged from the claws branch. Fixes several
871 bugs and adds some features.
875 * src/compose.c: compose_parse_header(): fixed a bug that unnecessary
876 linebreaks were included on reediting.
878 src/pop.c: fixed typos: 'occured'.
882 * src/compose.[ch]: implemented auto signature replacement on
884 compose_insert_sig(): added a flag to replace current signature.
885 compose_get_signature_str(): new. It returns signature string.
886 compose_insert_command_output(): removed.
887 compose_select_account(): call compose_insert_sig() on account
889 compose_destroy(): fixed a memory leak of UndoMain object.
890 Compose::sig_str: new. It stores current signature string.
891 * src/gtkutils.[ch]: gtkut_stext_find(): new.
892 Renamed gtk_stext_clear() to gtkut_stext_clear().
893 * src/utils.[ch]: get_wcs_len(): returns wide-character length of
895 normalize_newlines(): converts CR+LF and CR into LF.
896 get_command_output(): returns command output.
900 * src/procmsg.[ch]: procmsg_get_filter_keyword(): new. It returns
901 filter keyword for messages.
902 * src/summaryview.c: summary_filter_open(): use
903 procmsg_get_filter_keyword().
904 * src/messageview.c: create_filter_cb(): implemented.
910 inc_put_error(): display server responses on error.
911 * src/pop.[ch]: added Pop3Session::error_msg, and set server responses
916 * src/messageview.[ch]: separated the forced charset of message view
917 in separate window from the main window.
919 textview_show_message()
921 textview_add_part(): use MessageView::forced_charset if specified.
925 * src/mainwindow.c: modified File menu a bit.
926 * src/menu.[ch]: added functions to handle item factory rc strings.
927 * src/messageview.[ch]: added a menu, and made it take over main
928 window's menu shortcuts.
929 added msginfo which is duplicated on display to MessageView.
930 * src/prefs_common.c: prefs_keybind_apply_clicked(): use
931 menu_factory_clear_rc().
935 * send_message.c: send_message_smtp():
936 re-enabled forcing of SMTP AUTH method.
937 Clear temporary password if authentication failed.
938 * smtp.c: output warning to log and set SMTPSession::error_val
940 * smtp.h: changed error value to enum. Added SMTPSession::error_val.
941 * src/mbox.c: proc_mbox(): force updating of folder.
945 * src/pop.h: changed error value to enum.
946 * src/pop.c: pop3_retr_recv(): return PS_IOERR when inc_drop_message()
948 pop3_ok(): return appropriate error value based on current state.
949 Output warning to log if error occurs.
954 src/news.[ch]: refactored. Remove NNTPSockInfo and use NNTPSession
959 * src/inc.c: inc_pop3_session_do(): retrun appropriate error if
960 Session::state == SESSION_ERROR.
961 * po/POTFILES.in: removed src/automaton.c and src/send.c.
962 Added src/send_message.c.
967 src/session.c: fixed breakage of POP3 retrieval.
968 session_recv_data_from_sock_unescape(): read until terminator
969 appears and also return the actual size.
973 * src/automaton.[ch]: removed.
974 * src/session.c: removed some of the debug output.
975 * src/smtp.c: smtp_session_recv_msg(): workaround in case server
976 returns EHLO-style response to HELO command.
977 Ignore all multiline responses except for EHLO since they are
978 allowed for any command.
983 src/pop.c: fixed retrieval of messages which contain dot-escaped
985 session_recv_data(): added a flag for unescape.
986 session_recv_data_from_sock_unescape(): new. It receives message
987 for each line and unescapes dot-escaped lines.
988 Removed the previous workaround.
989 * src/defs.h: decreased UI_REFRESH_INTERVAL to 40 msec.
993 * src/pop.[ch]: workaround for brekage of retrieval when given size
994 and actual one is different.
998 * src/pop.c: pop3_retr_eom_recv(): ignore invalid end of message
999 since some servers sometimes return incorrect message size.
1000 * src/news.c: news_session_new(): zero clear NNTPSession object.
1001 Don't initialize Session::sock with nntp_sock->sock to prevent
1002 double-free of SockInfo.
1003 * src/imap.c: zero clear IMAPSession object.
1004 imap_cmd_append(): don't close SockInfo.
1008 * src/pop.c: pop3_session_recv_msg(): fixed STLS.
1013 src/pop.[ch]: reimplemented using new I/O system.
1014 * src/session.[ch]: session_recv_data(): new.
1015 session_send_data_to_sock()
1016 session_recv_data_from_sock(): decreased the frequency of progress
1021 * src/smtp.c: smtp_auth_recv(): fixed CRAM-MD5 authentication.
1025 * src/session.[ch]: session_start_tls(): new.
1026 session_recv_msg(): made it static.
1030 * implemented asynchronous network I/O.
1031 * src/session.[ch]: the interface to communicate with servers through
1034 src/send_message.[ch]: rewrote using new I/O system.
1035 * src/socket.[ch]: renamed *_write() to *_write_all(), and made
1036 *_write() as just a simple wrapper for write().
1037 * src/utils.c: get_outgoing_rfc2822_str(): new. It modifies the
1038 message to send with SMTP or NNTP.
1039 file_read_stream_to_str(): new.
1043 * src/textview.c: textview_button_pressed(): corrected the range of
1045 * src/compose.c: compose_wrap_line_all_full(): treat UTF-8 characters
1046 represented with more than 2 bytes as 2 character width and 2 bytes
1047 one as a single character width as a workaround for wrapping problem.
1051 * src/utils.c: subject_compare_for_sort(): allow null strings (fixes
1056 * implemented HTML link correctly.
1057 * src/html.[ch]: HTMLAttr, HTMLTag: new structure for attributes /
1059 html_get_tag(): new. It parses tag and returns HTMLTag object.
1060 html_parse_tag(): also parses <a> tags and 'href' attributes.
1061 * src/textview.c: textview_write_link(): new. It creates link string.
1065 * src/compose.c: compose_wrap_line_all_full(): fixed an infinite
1066 loop / crash bug (thanks to Darko Koruga).
1067 compose_write_to_file(): put correct charset element when
1068 conversion failed but want to send anyway.
1072 * src/headerview.c: headerview_show()
1073 src/textview.c: textview_write_line(): remove unreadable characters
1074 from displayed strings to prevent crashes on multi-byte
1076 * src/codeconv.[ch]: conv_unreadable_locale(): new. It was separated
1077 from conv_localetodisp().
1081 * src/procmsg.c: procmsg_cmp_by_subject()
1082 src/summaryview.c: summary_cmp_by_subject(): ignore Re: when
1085 subject_compare_for_sort()
1086 trim_subject_for_sort(): new.
1094 * src/defs.h: added -i option to the default sendmail command.
1098 * src/codeconv.[ch]: added missing character encodings and locales.
1103 procmsg_get_mark_sum()
1104 procmsg_open_mark_file()
1105 procmsg_read_mark_file(): take FolderItem instead of directory
1110 * src/codeconv.c: conv_encode_header(): fixed a bug that spaces
1111 which is on the wrap boundary would be lost when encoding long
1112 non-ascii strings (thanks to Sergey Vlasov).
1113 Don't force wrapping within a long word until it reaches hard line
1114 length limit (998 characters) (workaround for the breakage of
1115 long address list with no spaces).
1119 * src/prefs_account.c: fixed compile failure when using neither
1124 * src/codeconv.c: fixed UTF-8 locale support.
1125 conv_get_code_conv_func(): return conv_noconv if locale encoding
1126 is UTF-8. Return conv_latintodisp on ISO-8859-* to locale encoding
1128 conv_convert(): call conv_iconv_strdup() instead of
1129 conv_codeset_strdup().
1130 conv_codeset_strdup(): moved some codes into conv_iconv_strdup().
1134 * src/prefs_account.[ch]: added an option to use command output for
1136 * src/compose.c: compose_insert_sig(): use command output if
1138 compose_insert_command_output(): new.
1142 * src/main.c: main(): remove lock socket if sylpheed is not running
1143 when --status command is executed.
1144 lock_socket_remove(): new.
1148 * src/codeconv.c: conv_codeset_strdup(): don't convert if current
1149 codeset is US-ASCII (or POSIX).
1153 * src/codeconv.c: conv_iconv_strdup(): try to skip invalid characters
1154 and continue conversion.
1158 * src/summaryview.c: summary_selected(): always update widget
1163 * src/utils.c: tzoffset_sec(): fixed a bug that displayed wrong
1164 date in timezones more than GMT+12 or less than GMT-12.
1168 * src/prefs_common.[ch]
1169 src/sourcewindow.c: remember the size of source window.
1170 * src/md5.c: fixed a compile problem with gcc 3.3.
1174 * src/about.c: about_create(): modified the copyright notice.
1178 * src/colorlabel.c: don't use pixmaps for label color rect but draw
1179 rectangles so we can respect the color map of palette based visuals
1180 (fixes the long time crashes on Solaris - thanks to Alfons
1185 * src/procheader.c: procheader_date_parse(): made month string case
1187 * src/prefs_filter.c: prefs_filter_close(): fixed the crash when the
1188 selection list is empty.
1192 * src/quote_fmt_parse.y: removed gettext translatable strings.
1193 * src/unmime.c: unmime_header(): remove broken characters when
1194 code conversion failed.
1195 * src/codeconv.c: conv_encode_header(): fixed a bug that broken
1196 headers if long words more than 75 characters are entered.
1200 * src/prefs_account.c: prefs_account_receive_create()
1201 src/utils.c: to_human_readable(): made units translatable.
1205 * src/codeconv.c: isprintableeuckanji(): don't allow more than 0xf4
1206 at first byte (fixes abort() problem of glibc).
1207 * src/html.c: html_read_line(): remove characters which can't be
1208 displayed on the current locale.
1213 trim_subject_for_compare(): renamed from trim_subject().
1214 trim_subject(): new. It removes [...] or (...) at the beginning
1216 * src/prefs_folder_item.c
1218 added options for trimming summary / compose subject.
1219 * src/summaryview.c: summary_set_header(): trim subject if the folder
1221 * src/compose.c: compose_reply_set_entry(): trim subject if the folder
1227 LBREAK_IF_REQUIRED(): don't break lines before first word (fixes
1228 X-Face header problem).
1229 conv_encode_header(): allow up to 97 characters for one word.
1233 * src/filter.c: filter_match_condition(): fixed the bug that
1234 second condition ignored regex.
1235 * src/news.h: NewsGroupInfo: use guint for message numbers
1236 (fix count in grouplist dialog) (thanks to Thorsten Maerz).
1240 * src/codeconv.c: conv_encode_header(): fixed a segfault bug
1241 on code conversion failure.
1242 conv_get_charset_str()
1243 conv_get_charset_from_str(): optimized using hash table.
1247 * src/quote_fmt_parse.y:
1248 SHOW_MESSAGE_NO_SIGNATURE, SHOW_QUOTED_MESSAGE_NO_SIGNATURE:
1249 treat only "\n-- \n" as a signature separator.
1253 * src/gtkutils.[ch]: gtkut_ctree_node_prev(): new.
1254 * src/summary_search.c: summary_search_execute(): search collapsed
1260 conv_unreadable_latin(): include 0x7f as an unreadable character.
1261 conv_localetodisp(): don't remove 8bit characters by default.
1262 conv_get_current_charset()
1263 conv_get_outgoing_charset(): return ISO-8859-15 if "@euro" is
1264 appended at the last of locale name.
1265 * src/compose.c: compose_write_to_file(): show from and to encoding
1266 when code conversion failed.
1274 * src/procmsg.h: WRITE_CACHE_DATA(): little speed improvement
1275 (thanks to Colin Leroy).
1276 * src/mh.c: mh_get_msginfo(): added NULL check (thanks to Thorsten
1281 * src/textview.c: textview_write_line(): don't convert if conv is
1286 * src/codeconv.[ch]:
1287 renamed conv_guess_encoding() to conv_guess_ja_encoding().
1288 conv_localetodisp(): new. It removes unreadable characters from
1289 (assumed) current locale string.
1290 conv_codeset_strdup(): convert into ISO-8859-1 if dest_code is
1291 NULL and current locale encoding is US-ASCII.
1292 conv_get_code_conv_func(): return conv_ustodisp if US-ASCII is
1293 specified for destination charset.
1294 * src/textview.c: textview_write_line(): use conv_localetodisp()
1295 instead of strncpy2() if conversion failed.
1299 * src/codeconv.c: conv_iconv_strdup()
1301 imap_modified_utf7_to_locale()
1302 imap_locale_to_modified_utf7(): use ICONV_CONST macro to remove
1303 a warning on some systems.
1304 * src/codeconv.c: conv_iconv_strdup(): flush iconv() output and
1306 Return NULL instead of incomplete string if conversion failed.
1310 * src/summaryview.c: summary_execute(): select appropriate node
1311 if currently selected node is to be deleted.
1312 * src/gtkutils.[ch]: gtkut_ctree_node_is_selected(): new. Returns
1313 TRUE if the specified node is selected.
1317 * src/summaryview.c: summary_status_show(): fixed a occasional crash
1318 on deleting or moving.
1322 * src/codeconv.c: conv_unreadable_eucjp(): made the validity check
1323 of EUC-JP more accurate.
1324 isprintableeuckanji(): new. Use table for validity check of EUC-JP.
1336 * src/quoted-printable.c: qp_encode_line(): fixed linebreak
1337 duplication bug if the source string has CRLF.
1339 canonicalize_str(): new. Returns newly allocated canonicalized
1341 uncanonicalize_file(): new. Uncanonicalize (CRLF -> LF) text.
1342 uncanonicalize_file_replace(): new.
1343 * src/compose.c: always canonicalize body before processing, and
1344 uncanonicalize before returning.
1348 * src/procmime.c: procmime_get_encoding_for_charset(): prefer
1349 ENC_8BIT for Russian charsets.
1350 * src/compose.c: compose_write_to_file(): use base64 when signing
1355 * src/prefs_common.c: prefs_send_create(): added a description for
1356 the setting of Content-Transfer-Encoding.
1360 * src/codeconv.c: fixed locale_table for Russian locales (thanks to
1362 * src/procmime.c: procmime_get_encoding_for_charset(): return
1363 ENC_BASE64 for ISO-8859-5, KOI8-* and Windows-1251.
1364 * src/compose.c: compose_attach_append(): set correct Content-
1365 Transfer-Encoding for message/rfc822.
1366 compose_write_to_file(): enabled user-definable Content-Transfer-
1368 * src/prefs_common.[ch]: added an option for user-defined Content-
1373 * src/quoted-printable.[ch]: qp_encode_line(): fixed a bug if the
1374 line doesn't end with linebreak.
1378 * implemented quoted-printable encoding.
1379 * src/quoted-printable.[ch]: qp_encode_line(): new.
1381 compose_write_to_file()
1382 compose_write_attach(): implemented quoted-printable encoding.
1383 compose_attach_property_create(): enabled quoted-printable menu
1385 * src/procmime.c: procmime_get_encoding_for_charset(): return
1386 ENC_QUOTED_PRINTABLE for ISO-8859-* and CP125* charset.
1387 * src/Makefile.am: added $(LIBICONV) to sylpheed_LDADD for libiconv
1394 src/utils.[ch]: get_abbrev_newsgroup_name(): improved the way
1395 of abbreviation of newsgroup name.
1399 * configure.in: show the result of iconv detection.
1403 * src/codeconv.[ch]: made the transition from libjconv to iconv().
1404 conv_iconv_strdup(): new.
1408 src/prefs_common.c: replaced HAVE_LIBJCONV to HAVE_ICONV.
1414 src/prefs_folder_item.c: English fix (property -> properties).
1415 * src/prefs_filter.c: alert if entry is not saved.
1416 prefs_filter_dialog_to_filter(): new.
1420 * src/codeconv.c: conv_encode_header(): fixed a bug which output raw
1421 strings after linefeed.
1426 * src/codeconv.[ch]: code cleanup and optimization.
1427 conv_code_converter_new()
1428 conv_convert(): use functions obtained by conv_get_code_conv_func()
1429 when using libjconv.
1430 conv_codeset_strdup(): code cleanup.
1431 conv_get_code_conv_func(): added an argument for destination
1432 character set, and generalized.
1436 * src/codeconv.c: LBREAK_IF_REQUIRED(): break line only if some
1438 * src/compose.c: compose_convert_header(): remove trailing spaces.
1439 * src/customheader.c: custom_header_read_str(): strip the spaces
1441 * src/prefs_customheader.c: prefs_custom_header_clist_set_row():
1442 strip the spaces of name and value.
1450 * src/codeconv.c: conv_encode_header(): fixed a bug which will run
1451 into infinite loop when encountering invalid characters.
1455 * src/procmsg.[ch]: procmsg_sort_msg_list(): new. It sorts message
1457 * src/summaryview.c: summary_show(): removed summary_sort() because
1458 it is done inside folder_item_get_msg_list(). This will improve
1459 the performance of summary display.
1460 Sorted out the summary sort functions using macros.
1464 src/folder.[ch]: folder_item_get_msg_list(): return pre-sorted
1465 list if FolderItem::sort_key is set.
1466 Added SORT_BY_TO to FolderSortKey enum.
1467 * src/mainwindow.c: added "View/Sort/by recipient".
1475 * src/codeconv.c: conv_encode_header(): fix for redundant space on
1477 * src/compose.c: compose_convert_header(): always pass string to
1478 conv_encode_header() for line-breaking.
1482 * src/textview.c: textview_make_clickable_parts(): fixed incorrect
1483 parsing of email addresses.
1487 * src/defs.h: added DEFAULT_BROWSER_CMD.
1488 * src/mimeview.c: mimeview_view_file()
1489 src/prefs_common.c: prefs_other_create()
1490 src/utils.c: open_uri(): changed the default web browser to
1491 mozilla, and changed 'raise' command (which is undocumented)
1492 to 'new-window' in 'netscape -remote'.
1496 * src/compose.c: compose_send_control_enter(): fixed crash on
1497 Ctrl-Enter when Message/Send has no accelerator key (thanks to
1505 sort_summary_type_cb(): prevent unwanted processing on unchecking
1510 * src/main.c: process command line option before gtk_init() to
1511 enable remote operation without X (thanks to Ruslan N. Balkin).
1512 * src/codeconv.c: conv_encode_header(): fixed a potential buffer
1517 * src/Makefile.am: changed $(target_alias) to $(target_triplet)
1518 (the spec of autotools seems to be changed).
1522 * src/imap.c: get path separator using LIST command if server
1523 doesn't support NAMESPACE (based on the patch by Brian Sammon).
1524 imap_parse_list(): added an argument to return path separator.
1525 imap_get_namespace_by_list(): new.
1529 * src/addr_compl.c: add_address(): removed the debug print.
1530 * src/gtkutils.[ch]: gtkut_window_popup()
1531 src/mainwindow.c: main_window_popup(): applied the patch to fix
1532 the behavior of window popup from Sergey Vlasov (thanks!)
1533 * src/account.c: account_edit_create(): use signal_connect_after
1534 for row_move signal to fix the row position bug.
1535 account_row_moved(): scroll the CList half page.
1536 * src/prefs_filter.c: prefs_filter_row_move(): scroll the CList
1538 * src/summaryview.c: summary_reply(): use selection text only if
1539 the displayed message is selected (thanks to Sergey Vlasov).
1543 * src/codeconv.c: conv_encode_header(): reimplemented the routine
1544 of MIME header encoding. And use Q-encoding method if the current
1545 locale is single-byte one.
1546 * src/utils.[ch]: is_next_nonascii(): take multi-byte string instead
1547 of wide-character string. Consider control codes as non-ASCII.
1548 get_next_word_len(): new. It returns the length of next word.
1549 is_next_mbs(), find_wspace(): removed.
1550 * src/quoted-printable.[ch]: new.
1551 qp_decode_line(): decodes one QP line.
1552 qp_decode_q_encoding(): decodes Q-encoded string in MIME header.
1553 qp_get_q_encoding_len(): returns the length when a string is
1555 qp_q_encode(): Q-encode a string (RFC 2047).
1556 * src/unmime.c: moved the functions for quoted-printable to
1561 * src/send.c: send_message_local(): escape line that only have one
1562 dot character (postfix's sendmail command will stop there).
1566 * src/send.c: send_message_local(): don't escape first-dot line
1567 (thanks to Sergey Vlasov).
1571 * autogen.sh: added 'libtoolize --force --copy' to override the
1573 * acconfig.h: removed.
1574 * configure.in: increased minimal version of GPGME to 0.3.10.
1575 Fixed checking of XIM.
1577 ac/gnupg-check-typedef.m4: added an argument for comment.
1581 * src/imageview.[ch]: fixed conflicting declarations of
1582 imageview_show_image() (thanks to Thorsten Maerz).
1586 * src/compose.c: compose_entry_append(): don't add ", " on subject
1588 * src/codeconv.c: conv_get_outgoing_charset(): obtain outgoing
1589 charset from the table (currently disabled for non-Japanese locales).
1590 conv_get_current_locale(): also refer to LC_CTYPE.
1594 * README: added a description about hidden settings.
1598 * src/prefs_common.[ch]: reorganized the common prefs dialog.
1599 Made enable_hscrollbar and bold_unread hidden options.
1603 * src/quote_fmt_parse.y: fixed a parse error (thanks to Andreas Hinz).
1608 account_find_from_message_file()
1609 account_find_from_msginfo(): new. They find an account from the
1610 headers like 'From:', 'X-Sylpheed-Account-Id:', and 'AID:' in the
1613 compose_reedit(): restore messages' previous account on composition.
1614 compose_write_headers(): add 'X-Sylpheed-Account-Id:' header
1619 * src/compose.c: cleaned up the code using compose_entry_set()
1620 (don't use gtk_entry_set_text() directly).
1624 * src/imap.c: imap_parse_namespace(): fixed a memory leak.
1628 * updated autotools and libtool to the latest version.
1629 * configure.in: added AC_PREREQ(2.50).
1633 * src/textview.c: textview_set_font(): fix for message display in
1634 UTF-8 locales (thanks to Sergey Vlasov).
1638 * src/imageview.[ch]: imageview_show_image(): resize images to fit
1639 the window size if specified.
1640 * src/prefs_common.[ch]: added an option 'Resize attached images'.
1644 * refactoring for SMTP implementation.
1645 * src/session.h: added ui_func to Session.
1646 * src/smtp.[ch]: separated the connection routine from
1647 smtp_session_new() to smtp_connect().
1648 Changed the argument of every function other than smtp_ok() from
1649 SockInfo to SMTPSession.
1650 Call UI callback from each functions.
1651 * src/send.c: send_message_smtp(): separated the code for UI update
1652 into send_progress_dialog_update().
1656 * src/smtp.[ch]: separated smtp_auth() from smtp_from().
1657 * src/send.c: send_message_smtp(): call smtp_auth() and display
1658 the state to the dialog.
1662 * src/filter.c: strmatch_regex(): use extended regex (thanks to
1664 * src/main.c: main(): removed the code for assortrc -> filterrc
1666 * src/gtkutils.c: gtkut_font_load(): only use gdk_font_load() if
1667 current locale is C or POSIX.
1668 gtkut_stext_is_uri_string(): include "www." for URI string.
1669 * src/textview.c: textview_make_clickable_parts(): include "www."
1678 * src/textview.c: textview_add_part(): indicate signature status
1679 using different colors.
1683 * src/folder.c: folder_write_list_recursive(): escape
1684 To/Cc/Bcc/Reply-To strings.
1688 * src/codeconv.c: conv_encode_header(): enabled B-encoding of
1689 headers on locales other than Japanese when not using libjconv.
1693 * src/inc.[ch]: added INC_IO_ERROR to IncState. Also added its
1694 corresponding error message.
1695 inc_pop3_session_do(): set INC_IO_ERROR instead of INC_NOSPACE
1700 * src/prefs_account.[ch]: removed prefs_account_save_config() since
1702 * src/procmime.[ch]: removed procmime_mimeinfo_free() since
1703 procmime_mimeinfo_free_all() can be used in every case.
1707 * src/account.c: account_get_special_folder(): support F_INBOX, and
1712 * src/compose.[ch]: ComposeEntryType: changed COMPOSE_* to
1713 COMPOSE_ENTRY_*, and added
1714 COMPOSE_ENTRY_{REPLY_TO,SUBJECT,FOLLOWUP_TO}.
1717 compose_redirect(): added FolderItem to the arguments, and reflect
1718 settings in the item.
1719 compose_entry_set(): new.
1720 compose_entry_append(): code cleanup.
1721 compose_entries_set_from_item(): take ComposeMode in its arguments,
1722 and enabled FolderItem::use_auto_to_on_reply.
1723 * src/summaryview.c: summary_reply(): pass folder_item to
1724 compose_{reply,forward,redirect}().
1728 * src/gtkutils.[ch]:
1729 gtkut_font_load(): new. It automatically choose font or fontset
1731 gtkut_font_load_from_fontset(): new. It tries to load single font
1732 instead of fontset from a fontset string.
1736 src/summaryview.c: workaround for the problem that couldn't display
1737 8-bit characters in C or POSIX locale (use font instead of fontset).
1740 src/textview.c: made code cleanup using gtkut_font_load*().
1744 * src/mh.c: mh_get_msginfo(): set correct message number.
1748 * src/folder.[ch]: added a new virtual method Folder::get_msginfo().
1749 It returns a new MsgInfo associated to a message number.
1750 folder_item_get_msginfo(): new.
1751 * src/imap.[ch]: imap_get_msginfo(): new.
1752 * src/mh.[ch]: mh_get_msginfo(): new.
1753 * src/news.[ch]: news_get_msginfo(): new.
1757 * src/codeconv.c: conv_euctojis(): fixed a bug which will cause
1758 infinite loop if an invalid code appeared.
1762 * src/codeconv.c: conv_codeset_strdup()
1763 src/html.[ch]: html_read_line(): don't output conversion failure
1765 Added HTML_CONV_FAILED to the enum HTMLState.
1769 * implemented per-folder auto-set address (still in progress).
1770 * src/compose.[ch]: compose_new(): added FolderItem to its arguments,
1771 and set entries from it (if mailto is empty).
1772 compose_entry_append(): activate menu if required.
1773 compose_entries_set_from_item(): new.
1774 * src/folder.[ch]: added auto_to, use_auto_to_on_reply, auto_cc,
1775 auto_bcc, and auto_replyto to FolderItem, and renamed apply_sub to
1777 folder_build_tree(), folder_read_folder_func(),
1778 folder_write_list_recursive(): added the above members.
1779 * src/prefs_folder_item.[ch]: added auto-set addresses.
1780 * src/pop.[ch]: removed Pop3State::prev_folder.
1784 * src/compose.c: allow dropping files by also "moving" files from a
1785 file manager (thanks to Alfons).
1789 * compose_reply_set_entry(): made Reply-To have priority over
1790 List-Post on ML reply.
1794 * src/gtksctree.[ch]: gtk_sctree_set_anchor_row(): new.
1795 * src/summaryview.c: summary_step(): fixed a bug that lost the
1796 correct selection anchor.
1797 summary_key_pressed(): use gtk_sctree_select() instead of
1801 src/recv.c: differentiate disk full and socket errors
1802 (thanks to Colin Leroy).
1806 * src/account.c: account_edit_prefs(): removed unused variables.
1807 * src/compose.[ch]: separated WITH_QUOTE/WITHOUT_QUOTE flags in
1810 compose_reply_set_entry(): receive reply type with one argument.
1811 * src/summaryview.c: summary_reply(): reduced conditional branches.
1815 * src/compose.c: compose_redirect(), compose_reedit(): strip CR
1816 from line ends (thanks to Sergey Vlasov).
1817 * src/folderview.c: renamed 'Rescan folder tree' to 'Rebuild
1822 * src/folder.[ch]: added a virtual method Folder::remove_msgs().
1823 * src/imap.[ch]: implemented imap_remove_msgs() which expunges
1824 messages all at once.
1828 * src/account.[ch]: account_open(): new. It opens account prefs
1829 dialog and reflects to UI when finished.
1831 folderview_button_pressed()
1832 folderview_property_cb(): open account prefs dialog when the
1833 property of the root folder of remote account is requested.
1837 * src/account.c: account_destroy(): unref account information in
1839 * src/folder.[ch]: folder_unref_account_all(): new. It unref the
1840 specified account information in all folders.
1842 folderview_rm_imap_server_cb()
1843 folderview_rm_news_server_cb(): destroy Folder first because
1844 folder_destroy() refers to account information.
1848 * src/account.c: account_find_from_item(): fixed a bug which didn't
1849 select the correct account.
1850 * inc_pop3_session_do():
1851 fixed the resource leak when SSL initialization failed.
1852 Immediately break from temporary event loop if cancelled.
1856 * src/account.[ch]: account_find_from_item(): new.
1858 compose_reply(), compose_forward(), compose_redirect()
1859 src/mainwindow.c: compose_cb(): select optimal account when
1861 * src/folder.[ch]: added FolderItem::apply_sub.
1862 * src/menu.[ch]: menu_find_option_menu_index(): new. It finds the
1863 index of option menu which contains the specified data.
1864 * src/prefs_folder_item(): added Compose tab, and the setting of
1869 * configure.in: added $LDAP_LIBS for lber library detection.
1877 * src/procmsg.c: procmsg_msginfo_get_full_info(): fixed a memory
1878 leak, and added error checking.
1882 * src/compose.[ch]: added a flag Compose::use_newsgroups, and
1883 removed Compose::orig_account.
1884 compose_check_for_valid_recipient(): check only enabled entries.
1885 compose_write_headers()
1886 compose_redirect_write_headers(): add Newsgroups header only
1887 when the entry is enabled.
1888 compose_send(): modified the method of finding a mail account
1889 from a news account so that it tries to match the From address.
1890 * src/send.c: send_message_queue(): enabled the queueing of news
1892 * src/news.[ch]: news_post_stream(): new.
1896 * configure.in: check lber first and use $LDAP_LIBS on the check
1901 * po/*.po: fixed many typos of format strings which will lead to
1902 crash (thanks to Sergey Vlasov).
1906 * src/procheader.c: procheader_parse_stream(): added Cc header
1907 to the target for full parsing.
1908 * src/procmsg.[ch]: procmsg_msginfo_get_full_info(): new. It
1909 returns the full message information from the given information.
1910 * src/compose.c: compose_reply(), compose_forward(): get full
1911 message information for Cc header.
1915 * src/inc.c: inc_account_mail(), inc_all_account_mail(): update
1916 IMAP4 and NNTP folder summary after checking those accounts.
1924 * src/prefs_common.c: prefs_compose_create(): modified the label
1925 of the option for Reply button.
1926 * configure.in: add -lldap and -llber to the 5th argument of
1927 AC_CHECK_LIB() for LDAP library detection.
1932 INSTALL.jp: updated.
1936 * src/mainwindow.c: toggle the behavior of Reply button between
1937 normal reply and reply-to-list.
1938 * src/prefs_common.[ch]: added an option to switch the function
1943 * src/compose.c: compose_new(): removed the workaround for XIM
1944 because it doesn't have any effect and only seems to cause
1949 * src/compose.[ch]: compose_reply(): added a flag for reply-to-ML.
1950 compose_parse_header(): parse also List-Post header.
1951 compose_reply_set_entry(): support reply-to-ML (fall back to
1952 normal reply if ML address is not found).
1955 src/summaryview.c: reorganized Reply menu and added 'Reply to
1957 * src/utils.[ch]: scan_mailto_url(): new. It scans mailto URL and
1958 returns newly allocated parameters.
1962 * src/account.c: account_read_config_all(): set account information
1963 to default before initializing with configuration file.
1964 * src/prefs_account.[ch]: prefs_account_new(): new. It returns a
1965 newly created account information structure initialized by
1966 the default settings.
1971 replace_address_in_edit(): check if newtext is NULL.
1972 completion_window_button_press(): fixed a memory leak.
1973 * src/pop.c: LOOKUP_NEXT_MSG(): don't expire messages whose
1974 recv_time is RECV_TIME_KEEP.
1975 pop3_getrange_uidl_recv(): only set get_all flag if
1976 ac_prefs->getall is set.
1977 pop3_retr_recv(): don't delete messages which are not received
1978 by filter, and set recv_time to RECV_TIME_KEEP in the case.
1979 * src/pop.h: added an enum RecvTime.
1980 * src/inc.c: inc_drop_message(): unlink temporary message file if
1981 not received by filter.
1985 * src/mainwindow.c: added 'Edit/Select thread' menu.
1986 * src/summaryview.[ch]: added 'Select thread' to the context menu.
1987 summary_select_thread(): new. It selects all messages of current
1992 * src/rfc2015.c: check_signature(): corrected error handling and
1997 * src/rfc2015.c: check_signature(): correctly remove the last empty
1998 line, and canonicalize the file part before verifying (this should
1999 fix incompatibility with Evolution or some other MUAs).
2000 * src/utils.[ch]: copy_file_part(): new. It copies the specified
2001 range of file stream to another file.
2005 * src/compose.c: compose_write_to_file(): force BASE64 encoding for
2006 8-bit text when signing (thanks to Colin Leroy).
2010 * src/prefs_common.c: prefs_send_create(): fixed the charset string
2011 for Cyrillic (Windows-1251).
2019 * src/codeconv.c: changed the charset for ru_RU.CP1251 to
2020 Windows-1251. Added bg_BG locale.
2024 * src/compose.c: account_activated(): change the state of menu items
2025 and entries according to the selected account.
2026 compose_select_account(): new. It changes the state of title bar,
2027 menu items and entries.
2031 * src/inc.c: inc_mail(): correct new_msgs when inc_spool() returned
2033 Don't refresh summary view on fetching when open_inbox_on_inc is
2038 * src/summaryview.c: summary_show(): refresh even if open_inbox_on_inc
2039 is set (to avoid summary refresh problem).
2040 * src/imap.c: removed warnings by checking the existence of directory
2041 before calling remove*_numbered_files().
2045 * src/prefs_common.c: corrected English.
2049 * src/prefs_common.[ch]: added an option: "Mark messages as read
2050 only when opened in new window".
2055 folder_tree_destroy()
2056 folder_write_list_recursive(): added sanity check.
2057 * src/imap.c: imap_scan_tree(): if folder->node is NULL and
2058 can't get session, create empty folder node (based on the
2059 Alfons' suggestion).
2063 * src/textview.c: textview_key_pressed(): pass GDK_Delete event to
2065 * src/summaryview.c: summary_key_pressed(): scroll correct TextView
2070 * src/news.c: news_scan_group(): fixed wrong message number
2075 * major refactoring for POP3.
2076 * src/inc.[ch]: moved Pop3State, inc_pop3_state_new(),
2077 inc_pop3_state_destroy(), inc_get_uidl_table(), and
2078 inc_write_uidl_list() into pop.c.
2079 Moved Pop3State::folder_table and Pop3State::inc_state into
2082 inc_put_error(): added lockbusy state.
2083 inc_pop3_session_do(): obtain inc_state from Pop3State::error_val.
2084 inc_cancel(): don't terminate the automaton here but just set
2085 the flags to prevent crash.
2087 pop3_getauth_pass_recv()
2088 pop3_getauth_apop_recv(): check lockbusy state.
2089 pop3_retr_recv(): check Pop3State::cancelled flag.
2090 * src/automaton.[ch]: added 'cancelled' flag to Automaton.
2091 automaton_input_cb(): terminate if cancelled flag is true.
2092 * sylpheed.desktop: changed Type=Internet to Type=Application.
2093 Added Categories=Application;Network;.
2099 src/progressdialog.c: show detailed information to the status
2101 Added cur_total_recv_bytes to Pop3State.
2102 * src/prefs_common.[ch]: added an option to specify whether to
2103 close receive dialog when finished.
2107 * src/folder.[ch]: folder_get_path(): new. It returns the root path
2111 imap_folder_destroy()
2113 imap_remove_all_msg()
2114 news_folder_destroy(): remove cache directories / files when
2115 deleting Folder / messages.
2119 is_file_entry_exist(): check if the argument is NULL.
2121 remove_numbered_files()
2122 remove_expired_files(): fixed memory leaks on error.
2131 src/smtp.[ch]: made Folder and Session destructor virtual method.
2135 * src/compose.c: do joining of normal lines only when auto-wrapping.
2136 * src/main.c: modified the warning message for GnuPG.
2137 * src/about.c: about_create(): modified the compiled-in features
2139 * configure.in: improved LDAP library checking (thanks to Alfons).
2149 compose_wrap_line_all(): backed out the change to join lines that
2154 * configure.in: require at least gpgme-0.3.5.
2158 * src/alertpanel.c: alertpanel_create(): minor modification.
2167 * src/alertpanel.c: alertpanel_create(): modified the layout.
2168 * src/rfc2015.c: check_signature(): don't abort on error.
2172 * src/compose.c: compose_wrap_line_all(): freeze widget only if
2173 required to repress flickers.
2177 * src/compose.c: improved line wrapping.
2179 compose_wrap_line_all(): also join lines that are not indented.
2180 dump_text(): handle multi-byte strings correctly.
2184 * src/compose.c: compose_wrap_line_all(): fix for auto-wrapping
2185 (go to next line when space is entered at line limit).
2189 * src/inc.c: inc_get_uidl_table(): fixed a memory leak reported by
2194 * src/mh.c: mh_scan_tree_recursive(): disabled Maildir folder
2195 checking to prevent confusion.
2199 * src/folder.[ch]: folder_item_get_msg_list(): added a wrapper for
2200 method Folder::get_msg_list().
2201 * src/account.c: account_edit_prefs(), account_delete(): use
2202 folderview_set_all() instead of folderview_rescan_all().
2203 * src/folderview.[ch]:
2204 folderview_check_new_all(): new. Updates all folders.
2205 folderview_rescan_tree(): confirm before executing.
2206 folderview_rescan_all(): commented out since it's not used anymore.
2207 folderview_update_item_foreach(): added a flag for summary update.
2208 * src/inc.c: inc_finished(): update summary only when
2209 prefs_common.scan_all_after_inc is set.
2210 inc_drop_message(): set mtime of target folder to 0 to force
2211 the updating of summary.
2212 inc_start(), get_spool(): update also summary when updating
2214 * src/mainwindow.c: changed 'File - Rescan folder tree' to
2215 'File - Check for new messages in all folders'.
2219 * src/compose.c: compose_write_to_file(): clearsign message body
2221 compose_clearsign_text(): new. Replaces the string with clearsigned
2223 * src/prefs_account.c: added an option for clearsign.
2224 * src/rfc2015.c: rfc2015_clearsign(): new.
2225 pgp_sign(): added a flag for clearsign.
2226 * src/utils.[ch]: get_tmp_file(): return newly allocated unique file
2227 name (needs to be freed by caller).
2228 str_write_to_file(), file_read_to_str(): new.
2232 * src/procmsg.c: procmsg_read_mark_file(): check key duplication
2233 to avoid memory leak.
2237 * src/base64.c: include string.h for memcpy().
2238 * src/gtksctree.c: use macro ABS() instead of function abs().
2239 * src/prefs_account.c
2240 src/prefs_common.c: renamed 'send' to 'p_send' so as not to
2241 conflict with the function send() in sys/socket.h.
2242 * src/mainwindow.c: commented out the unnecessary functions.
2243 * src/utils.c: canonicalize_file_replace(): correct warning message.
2247 * src/utils.[ch]: get_tmp_file(): new. Returns the directory for
2248 temporary files in ~/.sylpheed/.
2249 * src/main.c: create temporary directory in ~/.sylpheed/.
2251 src/inc.c: create temporary files in ~/.sylpheed/, and modified
2253 compose_exec_ext_editor(): fixed a bug that failed to create the
2254 temporary file if g_get_tmp_dir() returned directory other than
2259 * src/utils.c: copy_file(): check if dest_bak != NULL when unlinking.
2263 * src/utils.[ch]: canonicalize_file_replace(): fixed a bug that fails
2264 to replace the file when the given file and temporary file are not
2265 on the same filesystem.
2266 copy_file(): added a flag whether to keep backup.
2267 move_file(): added a flag whether to overwrite the destination file.
2271 * src/socket.[ch]: fixed the linking failure when IPv6 is enabled.
2272 * src/select-keys.c: modified key selection dialog.
2276 * src/socket.[ch]: my_gethostbyname(): new.
2277 * src/utils.c: get_domain_name(): return FQDN instead of short
2278 hostname (thanks to Bob Woodside).
2279 * src/template.c: made the debug messages less verbose.
2283 * src/prefs_common.[ch]: removed obsolete default sign key setting.
2284 * src/utils.c: canonicalize_file(): correct the error check of
2289 * src/compose.c: compose_write_to_file():
2290 canonicalize line endings before encrypting/signing (this will fix
2291 interoperability with other MUAs).
2292 Removed unnecessary strdup.
2293 Don't encrypt/sign draft message.
2295 canonicalize_file(), canonicalize_file_replace(): new.
2297 src/select-keys.c: changed g_message() to debug_print() and
2299 * src/mimeview.c: mimeview_check_signature(): removed unnecessary
2300 MIME structure scanning.
2301 * src/textview.c: textview_add_part(): show signature status in
2304 src/sigstatus.c: modified translatable strings and some MIME
2309 * src/procmsg.c: procmsg_save_to_outbox(): don't forget to remove
2310 the temporary file when saving from queue.
2316 src/prefs_account.[ch]
2317 src/prefs_common.[ch]: merged GnuPG stuff from the claws branch.
2318 Modified some messages.
2322 * src/textview.c: textview_scan_header(): fixed a memory leak
2327 * src/prefs_actions.c: execute_actions(): put create_io_dialog()
2328 in right conditional block.
2332 * src/compose.c: compose_wrap_line_all(): fixed character buffer
2338 log_error(): add time stamp to log messages.
2343 corrected a typo (HAVE_SYS_SELECT -> HAVE_SYS_SELECT_H)
2347 * src/socket.c: implemented socket I/O timeout.
2349 * src/pop.c: check errors and return error value correctly.
2353 * src/prefs_actions.c: made the action's input/output dialog display
2354 without delay. Made the dialog modal instead of making window
2355 insensitive. Also cleaned up its UI.
2359 * implemented --attach command line option.
2361 Cmd::attach_files: new member to store file paths.
2362 parse_cmd_opt(): added --attach option. --compose option is implied.
2363 prohibit_duplicate_launch()
2364 lock_socket_input_cb(): added "compose_attach" message.
2367 src/textview.c: renamed compose_new_with_recipient() to
2368 compose_new(), and added an argument for attachment files.
2372 * src/logwindow.c: freeze GtkText widget while hidden.
2373 log_window_append(): changed the header for message and warning.
2377 * src/news.c: implement automatic cache expiration.
2378 news_delete_expired_caches(): new.
2379 news_get_article_list(): fixed a bug that nonexistent messages
2380 were not removed from list.
2381 * src/procmsg.[ch]: procmsg_get_last_num_in_msg_list(): renamed
2382 procmsg_get_last_num_in_cache().
2383 * src/utils.[ch]: remove_expired_files(): new.
2388 inc_mail(): force summary refresh when using external command for
2390 inc_all_account_mail(): fixed a bug on spool checking failure.
2401 src/editldap_basedn.c
2403 src/prefs_common.c: fixed memory leaks which didn't free strings
2404 gtk_editable_get_chars() returned. And minor code cleanups.
2406 src/vcard.h: removed C++-style comments.
2410 * src/codeconv.c: conv_encode_header(): fixed a problem in encoding
2411 strings which include both multi-byte and us-ascii characters.
2415 * src/utils.c: remove_numbered_files(): don't try to unlink()
2418 conv_get_code_conv_func(): return conv_anytodisp() if charset is
2420 conv_unmime_header_overwrite()
2421 conv_unmime_header(): do conv_anytodisp() before decoding header.
2429 * src/compose.c: added 'Tools/Actions' menu.
2433 * src/base64.c: a minor fix for BASE64VAL() macro.
2437 * src/base64.c: base64_decode(): fixed a buffer overrun bug.
2445 src/base64.[ch]: rewrote the BASE64 encode / decode routines.
2446 base64_encode(), base64_decode(): new.
2447 * src/rfc822.[ch]: removed.
2449 src/about.c: removed the copyright notice for fetchmail.
2455 src/unmime.[ch]: rewrote the MIME decode routines.
2457 unmime_quoted_printable_line(): new.
2459 procheader_get_one_field()
2460 procheader_get_unfolded_line(): remove also CR.
2464 * libkcc: removed from the source tree.
2466 src/about.c: removed the copyright notice for libkcc.
2467 * src/codeconv.c: conv_guess_encoding(): check for ASCII code first
2469 * src/prefs_actions.c: removed unnecessary spaces/tabs.
2473 * src/prefs_actions.c: comply with the coding style.
2474 Modified the UI design.
2475 * src/mainwindow.c: main_window_set_menu_sensitive(): enable Actions
2476 menu when multiple messages are selected.
2480 * src/prefs_actions.[ch]: merged the 'Actions' feature from claws.
2481 update_actions_menu(): simplified the menu deletion.
2482 * src/mainwindow.c: added 'Actions' menu to Tools and Configuration.
2486 * src/codeconv.[ch]: implemented conv_jistoeuc(), conv_euctojis(),
2487 conv_sjistoeuc(), and conv_guess_encoding(). Removed the dependency
2492 * configure.in: added check for strchr.
2496 * src/prefs_common.[ch]
2497 src/inc.c: added an option to inhibit receive error dialog.
2501 * src/account.c: account_find_from_address(): support multiple
2502 addresses in header.
2506 * src/gtksctree.[ch]: changed GtkSCTree::anchor_row from gint to
2507 GtkCTreeNode* so that it won't become invalid after the row move.
2508 Removed dependency to gtkutils.c.
2509 * src/prefs_common.[ch]
2510 src/summaryview.c: summary_selected(): added an option to show
2511 message when cursor keys are pressed on summary view.
2517 src/compose.c: changed "host_alias" to "target_alias" so that it
2518 shows the correct system name on cross-compiling (thanks to
2523 * src/prefs_account.[ch]: added the option menu to force an
2524 authentication method for SMTP AUTH.
2526 src/smtp.[ch]: smtp_from(), smtp_auth(): added an argument to
2527 specify the authentication method for SMTP AUTH.
2528 smtp_ehlo(): allow AUTH responses that don't comply with the RFC.
2532 * src/prefs_common.[ch]
2533 src/compose.c: enabled "Wrap on input".
2537 * src/summaryview.[ch]
2538 src/mainwindow.c: added "Go to/{Prev,Next} new message" menu.
2539 Made some code cleanups.
2544 src/prefs_common.[ch]: added the hidden option to specify the
2545 policy of the vertical scrollbar on folder view.
2549 * src/messageview.[ch]:
2550 messageview_copy_clipboard(): fixed a bug that couldn't copy text
2552 messageview_get_current_textview(): new.
2553 messageview_get_text_widget(): removed.
2554 * src/quote_fmt_parse.y: quote message even if msginfo is empty.
2555 * src/compose.[ch]: implemented the "Paste as quotation" feature.
2556 text_inserted(): new callback for "insert_text" signal.
2557 Add quote mark to the pasted text if Compose::paste_as_quotation
2562 * src/compose.c: if the Content-Type of a file is text/*, check
2563 its content and set the optimal Content-Transfer-Encoding (thanks
2568 * src/textview.c: textview_key_pressed(): pass key press event to
2569 main window to activate menu shortcuts (thanks to Alfons).
2573 * src/folder.c: folder_build_tree(): use strtoul() instead of atoi()
2574 for mtime to prevent flooring.
2577 imap_move_msgs_with_dest()
2578 imap_copy_msgs_with_dest(): fixed a bug that prevented multiple
2580 imap_parse_envelope()
2581 imap_cmd_envelope(): use RFC822.HEADER instead of ENVELOPE to get
2582 full information of messages and simplify the parser. Also fixed
2583 the bug that References header was ignored on threading.
2584 imap_parse_one_address()
2585 imap_parse_address(): removed.
2586 imap_get_header(): new. It reads the RFC822 header and returns
2587 a newly allocated string.
2588 * src/procheader.[ch]: changed procheader_parse() to
2589 procheader_parse_stream() and added different interfaces for it.
2593 * po/zh_TW.Big5.po: fixed a mistake that caused a crash.
2601 * src/inc.c: inc_get_uidl_table(): fixed a bug that garbage time
2602 could be inserted into the hash table.
2603 inc_write_uidl_list(): a minor code cleanup.
2604 * src/mainwindow.c: main_window_get_current_state():
2605 make the state unexecutable on an empty folder.
2606 * src/summaryview.c: summary_sort(): don't sort on an empty folder.
2607 * src/pop.c: minor code cleanups.
2611 * src/prefs_account.c: CREATE_RADIO_BUTTONS(): fixed a typo and
2612 corrected the behavior of the radio buttons.
2616 * implemented 'Delete messages after N days' feature for POP3.
2618 inc_get_uidl_table()
2619 inc_write_uidl_list(): moved the location of UIDL list file from
2620 RC_DIR/uidl-* to RC_DIR/uidl/*.
2621 Added received time for each UIDLs.
2622 src/main.c: main(): create RC_DIR/uidl/ directory.
2623 src/pop.[ch]: LOOKUP_NEXT_MSG(): delete expired messages here.
2624 Added recv_time to Pop3MsgInfo.
2625 src/prefs_account.[ch]: added an option for the number of days for
2634 * src/folder.c: folder_set_missing_folders(): fixed a bug that
2635 caused multiplication of special folders on startup if their
2637 * src/folderview.c: folderview_remove_mailbox_cb(): modified the
2642 * src/compose.c: compose_reply(), compose_forward(): reverted the
2643 last change since it causes lockup problem.
2647 * src/compose.c: compose_reply(), compose_forward(): don't autowrap
2649 compose_new_with_recipient(): workaround for initial XIM problem.
2653 * src/mainwindow.c: sort ascending / descending order can be
2654 specified with separated menu items.
2655 Added "View/Sort/Don't sort" menu item.
2656 * src/summaryview.[ch]: summary_sort(): added an argument for
2661 * implemented persistent sort order.
2663 folder_build_tree(): read 'sort_key' and 'sort_type' attributes.
2664 folder_write_list_recursive(): write sorting state.
2666 src/summaryview.[ch]: summary_show(): sort if required.
2667 select the top node on descending sort.
2668 Removed SummarySortType and sorting state variables from
2676 src/prefs_account.[ch]: enabled NNTP over SSL.
2677 * src/nntp.c: nntp_group(): issue MODE READER command and retry
2678 when GROUP command once failed (this seems to avoid problems on
2679 some broken news servers).
2683 * faq/it/*.html: corrected DOS linebreaks.
2684 * faq/*/*.html: changed ">" to ".
2688 * src/prefs_account.c: prefs_account_protocol_activated(): hide
2689 unnecessary frames in SSL tab.
2695 src/prefs_account.[ch]: enabled STLS command in POP3.
2696 * src/account.c: account_clist_set_row(): display TLS setting.
2700 * src/compose.c: compose_send_later_cb(): support redirect function.
2703 src/prefs_account.[ch]: enabled STARTTLS command in IMAP4.
2705 src/smtp.[ch]: use SSLType instead of SSLSMTPType.
2709 * src/utils.[ch]: make_dir(): wrapper for mkdir() and chmod().
2710 * src/compose.c: compose_create(): removed unrequired lines.
2714 * src/news.c: news_scan_group(): fixed a bug that set the wrong
2715 values in some cases.
2716 * src/prefs_account.c: corrected English in Advanced - Folder
2721 * src/textview.c: textview_show_message(), textview_show_part():
2722 fixed a bug that GtkSText *text pointed the incorrect object.
2723 textview_add_part(): freeze GtkSText while adding RFC822 headers.
2724 textview_show_part(): fixed a bug that couldn't display single
2725 part MIME message as text.
2729 * src/compose.c: compose_redirect_write_to_file(): correct the target
2730 for change_file_mode_rw(). Check if fclose() succeeded. Unlink
2731 incomplete file when an error occured.
2736 compose_create(): disable menus for draft on redirection mode.
2737 compose_redirect_write_to_file(): correct the error handling of
2739 * src/prefs_common.c: turned off the "Display recipient on `From'
2740 column if sender is yourself" option by default.
2744 * src/compose.[ch]: implemented 'Redirect' (aka Bounce) feature.
2745 Based on the implementation of the claws branch.
2746 compose_redirect(): create a new window and make it uneditable.
2747 compose_redirect_write_to_file(): copy headers and body of
2748 original message except for some.
2749 compose_redirect_write_headers(): add extra "Resent-*" headers.
2750 compose_create(): set menu sensitivity for redirection mode.
2754 * src/codeconv.c: conv_encode_header(): fixed a bug that unnecessary
2755 space is inserted between encoded string and the following folded
2756 one (thanks to Masahiro Tomita).
2760 * src/mainwindow.[ch]: some refactoring has been made.
2761 main_window_toggle_message_view(): moved summary_toggle_view_real()
2763 * src/messageview.[ch]: messageview_is_visible(): new.
2764 * src/summary_search.c
2765 src/summaryview.[ch]: SummaryView::msg_is_toggled_on: removed.
2766 Instead use messageview_is_visible().
2770 * src/mainwindow.c: added 'Expand/Collapse all threads' menu.
2771 * src/summaryview.[ch]:
2772 summary_expand_threads(), summary_collapse_threads(): new.
2776 * src/mainwindow.c: Fixed the behavior of
2777 '/View/Show or hide/Folder tree' and
2778 '/View/Show or hide/Message view' toggle menu.
2779 Removed '/View/Toggle summary view' menu and integrated the
2780 function into '/View/Show or hide/Message view'.
2781 main_window_set_widgets(): change the state of toggle menu items.
2782 * src/prefs_common.c: prefs_keybind_apply_clicked(): updated menurc
2787 * src/mimeview.c: mimeview_set_multipart_tree(): show single part
2788 MIME contents other than text as children of message/rfc822 part.
2790 procmime_mimeinfo_next(): modified for message/rfc822 part which
2791 content-type is single part MIME.
2792 procmime_scan_multipart_message(): fix for nested message/rfc822
2793 part. Corrected the size of the contents of message/rfc822.
2794 * src/textview.c: textview_show_part(): extract the contents of
2795 multipart/* and message/rfc822. Some code cleanups.
2796 textview_add_parts(): new. It adds the all parts under a part to
2798 textview_clear(): reset body_pos and cur_pos.
2802 * src/addr_compl.c: modified so that it behaves better.
2803 get_address_from_edit(): ignore comma inside of brackets.
2804 completion_window_apply_selection(): new. Only apply the current
2806 completion_window_accept_selection(): removed.
2807 address_completion_complete_address_in_entry(): minor code cleanup.
2808 don't replace address in entry here.
2809 completion_window_select_row(): always apply clist selection to
2811 completion_window_key_press(): don't apply selection here.
2815 * src/imap.c: imap_create_folder(): keep trailing directory separator
2816 to create a folder that contains sub folder.
2820 * src/foldersel.c: sort tree with case insensitive.
2821 * src/mainwindow.c: allsel_cb()
2822 src/messageview.c: messageview_select_all(): fixed 'Select all'
2824 * src/mainwindow.c: removed common and account prefs button from
2829 * src/compose.c: compose_account_option_menu_create(): check if
2838 * manual/ja/*: updated the Japanese manual (thanks to Yoichi Imai).
2839 manual/en/*: updated the English manual.
2841 faq/it/*: added German and Italian FAQ.
2844 faq/fr/*: updated FAQs.
2846 src/mainwindow.c: added German and Italian language.
2850 * src/prefs_account.c: turn off "receive at get all" option by default
2851 when creating an IMAP or News account.
2855 * src/imap.c: imap_scan_tree(): don't use namespace for prefix.
2856 * src/prefs_folder_item.c: show also identifier path.
2857 Made layout using table. Show uneditable entry using background
2859 * src/procmime.c: procmime_get_tmp_file_name(): generate safe
2864 * src/automaton.[ch]: added UI callback to Automaton.
2866 src/pop.c: use callback instead of calling inc_progress_update()
2868 pop3_getrange_uidl_recv(): don't fall back to LAST when 'get all'
2873 * src/folderview.c: properly sort abbreviated newsgroups.
2878 src/prefs_common.[ch]
2879 src/summaryview.c: added an option to specify the minimum length
2880 for abbreviated newsgroups name.
2884 * src/folderview.c: folderview_check_new(): skip unselectable folders.
2885 * src/summaryview.c: added 'Create filter rule' to the context menu.
2886 * src/imap.c: some code cleanups.
2887 imap_scan_tree_recursive(): get path separator for each calls.
2888 imap_get_path_separator(): new.
2892 * src/imap.[ch]: supported namespace for others/shared folders
2894 imap_parse_namespace(): parse also others/shared namespace.
2895 imap_find_namespace(): search also others/shared namespace.
2897 strchr_parenthesis_close(): return pointer to closing parenthesis.
2898 strsplit_parenthesis(): split parenthetic list into array of
2903 * src/procheader.c: procheader_date_parse(): fixed a bug that didn't
2904 parse date string like "Mon,6 May 2002 20:31:12 +0800".
2905 procheader_scan_date_string(): new. Separated string scanning
2906 part from procheader_date_parse().
2910 * src/summary_search.c: summary_search_execute(): unlock while
2911 selecting summary row (thanks to Martin Schaaf).
2912 * src/summaryview.c: summary_set_column_titles(): reversed the
2913 direction of the arrow so that it matches with Win/Mac style.
2917 * src/compose.c: compose_write_headers(): quote self address name
2918 if required. Some code cleanups. Don't override Newsgroups and
2919 Cc with custom headers.
2920 * src/imap.c: imap_add_msg(): return UID for appended message.
2921 * src/compose.c: compose_queue(): check if queue folder exists.
2922 * src/imap.c: QUOTE_IF_REQUIRED(): quote also other IMAP special
2924 imap_open(): removed an unrequired argument.
2928 * src/utils.[ch]: trim_string(): new. It trim characters longer than
2929 the specified length and adds "...".
2930 * src/folderview.c: trim folder name when displaying dialog.
2934 * src/imap.c: imap_create_folder(): don't add prefix for root INBOX
2936 * src/folderview.c: folderview_select()
2937 src/summary_search.c: summary_search_execute(): lock summary view
2938 while searching (thanks to Martin Schaaf).
2946 * sylpheed*.png: added new app icons by WAKAI Kazunao (thanks!).
2950 * src/summaryview.c: summary_show(): fixed a bug that didn't process
2952 * src/account.c: account_edit_prefs(): fixed a crash bug when account
2954 * src/prefs_account.c: prefs_account_apply(): display error dialog
2955 if account name is empty.
2956 * src/imap.c: changed some log_print() to debug_print() to reduce
2961 * src/mh.c: mh_get_new_msg_filename(): new. It returns the filename
2965 mh_do_move_msgs_with_dest()
2967 mh_copy_msgs_with_dest(): use mh_get_new_msg_filename().
2968 * src/utils.[ch]: added is_file_entry_exist() which returns TRUE
2969 if stat() succeeded.
2971 imap_fetch_msg(): SELECT mailbox before FETCH if required.
2972 imap_scan_folder(): set last_num using the value of UIDNEXT.
2973 imap_select(): return immediately if there is no need for SELECT.
2974 preserve the path of currently selected mailbox.
2975 imap_status(): added UIDNEXT.
2979 * src/folder.c: folder_item_scan(): removed the warning.
2980 * src/inputdialog.[ch]: input_dialog_combo(): added an argument for
2981 setting case sensitivity.
2985 * src/mainwindow.c: main_window_create(): restrict the minimum size.
2989 * src/compose.c: merged the new line-wrapping routine.
2990 join_next_line(): fixed a bug that didn't join multibyte
2992 get_indent_length(): modified enums and variable names.
2993 INDENT_CHARS: don't indent ':'.
2995 folderview_rename_folder_cb()
2996 folderview_delete_folder_cb(): support folder identifier.
2997 folderview_rm_imap_folder_cb(): integrated with
2998 folderview_delete_folder_cb().
3002 * src/folder.[ch]: folder_item_scan(): return -1 if scanning failed.
3003 * src/folderview.c: folderview_check_new(): abort checking if
3004 folder_item_scan() failed.
3008 * src/imap.c: imap_create_missing_folders(): create only INBOX and
3010 * src/prefs_folder_item.c: prefs_folder_item_set_dialog(): made the
3011 type of news folders unchangeable.
3012 prefs_folder_item_destroy(): use prefs_dialog_destroy().
3013 * src/prefs.[ch]: prefs_dialog_destroy(): new.
3017 * src/prefs_account.[ch]: added special folder setting to Advanced
3018 tab. Also moved "IMAP server directory" setting to there.
3019 * src/account.[ch]: account_get_special_folder(): new. It returns
3020 the optimal special folder for accounts.
3021 * src/compose.c: use account_get_special_folder().
3022 * src/prefs_folder_item.[ch]: new. Implemented folder property
3023 dialog, and the special folder settings (most of the functions in
3024 claws are not integrated yet, and the structure is slightly
3026 * src/folderview.c: enabled Property menu.
3030 * src/textview.c: IS_RFC822_CHAR(): make email parser also stop
3031 scanning when encountering separators ',' and ';'.
3035 * src/mainwindow.c: reorderd the menu a bit.
3036 * src/compose.c: made 'Ctrl-Enter' ignore some modifiers.
3037 compose_reply_set_entry(): made 'Reply to sender' work for
3042 * src/compose.c: compose_create(): set geometry hints to restrict
3043 the maximum size of window.
3044 * src/imap.c: imap_parse_list(): don't mark INBOX as \Noselect.
3045 imap_get_uncached_messages()
3046 imap_cmd_fetch(): ignore responses which don't include FETCH.
3050 * COPYING: re-licensed (removal of "NO-VIRUS CLAUSE" and addition of
3051 the clause for OpenSSL).
3055 * src/prefs_account.c
3056 src/smtp.[ch]: fixed a bug that didn't complie with OpenSSL enabled.
3062 src/session.[ch]: first reorganization of SMTP protocol handling.
3063 SMTPSession: new class which is a sub class of Session.
3064 smtp_session_new(): moved send_smtp_open() into this function.
3065 smtp_from(): moved SMTP AUTH calls into smtp_auth().
3066 smtp_auth(): use server response for SMTP AUTH method.
3067 smtp_ehlo(): read server response and set auth type flags.
3068 smtp_helo(): separated EHLO command.
3069 smtp_ok(): return the last server response if the buffer is
3071 * src/esmtp.[ch]: merged into smtp.[ch].
3072 * src/imap.c: imap_session_destroy_all(): use session_destroy().
3076 * src/imap.c: imap_open(): show warning message if IMAP4 session
3077 can't be established.
3081 * src/compose.c: made template able to be inserted into the current
3083 * src/mainwindow.c: moved some menu items under the submenu
3084 '/View/Show or hide'.
3089 src/inc.c: changed folder_find_item_from_path() to
3090 folder_find_item_from_identifier().
3092 src/prefs_filter.c: use folder_item_get_identifier() to specify
3097 * src/folder.[ch]: implemented "folder identifier" (and fixed a bug
3098 existed in claws' implementation).
3099 folder_find_from_name(): find Folder from name and type.
3100 folder_get_identifier(): return Folder id.
3101 folder_item_get_identifier(): return FolderItem id.
3102 folder_find_item_from_identifier(): find FolderItem from id.
3103 folder_get_type_string(): return folder type string.
3104 folder_get_type_from_string(): return FolderType from string
3105 (and fixed the wrong g_strcasecmp() usage).
3107 src/import.c: use folder_item_get_identifier() and
3108 folder_find_item_from_identifier().
3112 * src/imap.c: imap_parse_atom(): fixed a bug that cur_pos didn't
3113 point the correct address after reading the continuous line.
3114 imap_scan_folder(): set new number to 0 if unseen number is 0.
3115 imap_parse_flags(): don't add new and unread flag if \Seen flag
3117 * ac/Makefile.am: removed gpgme.m4 from MACROS.
3121 * fixed the old problem that couldn't add flags to currently opened
3124 compose_send(): update outbox after saving.
3126 compose_draft_cb(): use procmsg_add_flags().
3127 * src/folder.[ch]: added "opened" flag and "mark_queue" list to
3129 * src/main.c: send_queue(): send from all queue folders.
3130 * src/mainwindow.c: send_queue_cb(): send from all queue folders.
3132 procmsg_flush_mark_queue(): new. Write all queued flags into file.
3133 procmsg_add_flags(): new. Add specified flags to the folder.
3134 procmsg_send_queue(): added an argument to specify queue folder.
3135 procmsg_save_to_outbox(): use procmsg_add_flags().
3136 * src/summaryview.c:
3137 summary_show(): up the opened flag of FolderItem.
3138 summary_clear_list(): down the opened flag of FolderItem.
3139 summary_write_cache(): call procmsg_flush_mark_queue().
3143 * src/summaryview.[ch]: trim the tail of folder name and selected
3144 number on the status label if the space is not enough.
3148 * src/imap.c: imap_create_special_folder(): fixed a bug that didn't
3149 set SpecialFolderItemType when creating special folders under
3151 * ac/gpgme.m4: removed.
3153 * ac/missing/gdk-pixbuf.m4
3154 ac/missing/gettext.m4
3156 ac/missing/imlib.m4: added for convenience.
3160 * src/esmtp.c: esmtp_auth(): fixed a bug that some garbages are
3161 shown after the decoded challenge string. Fixed a memory leak.
3163 * src/compose.c: compose_draft_cb(): mark draft messages as read.
3164 * src/folderview.c: folderview_update_node(): disable emphasis
3165 for Outbox and Draft folders.
3169 * src/messageview.c: messageview_show(): fixed a memory leak.
3170 * src/summaryview.c: summary_save_as(): show error dialog if copy
3172 * src/about.c: about_show(): make the window active if it is already
3177 * src/compose.c: show confirmation dialog before sending if Subject
3179 compose_check_entries(): new.
3181 compose_send_later_cb(): use compose_check_entries().
3182 * src/imap.c: imap_parse_atom(): more fix for parsing responses.
3186 * src/imap.c: imap_parse_atom(): fixed a bug that didn't parse the
3187 responses with continuous line correctly, and fixed a memory leak.
3191 * src/undo.c: undo_insert_text_cb(): fixed a crash bug if the text
3193 * src/gtkstext.c: gtk_stext_button_press(): cancel current selection
3194 after pasting with middle button to prevent the selection growth.
3199 folderview_rename_folder_cb()
3200 folderview_delete_folder_cb(): modify filter rules only if the
3201 target folder is in the default mailbox.
3202 * src/utils.c: get_abbrev_newsgroup_name(): removed a redundant
3209 src/prefs_common.c: changed 'Tool' menu to 'Tools'.
3210 Moved 'Delete duplicated messages' under 'Tools'.
3214 * src/folderview.c: SET_SPECIAL_FOLDER(): keep the same parent
3216 * src/imap.c: imap_create_special_folder(): fixed a crash bug
3217 when folder creation failed, and re-try to create folders under
3219 imap_scan_tree_recursive(): don't automatically add namespace
3220 prefix if it's INBOX. Search also under the INBOX for special
3222 * src/foldersel.c: SET_SPECIAL_FOLDER(): keep the same parent
3227 * src/utils.[ch]: get_abbrev_newsgroup_name(): new. It returns the
3228 abbreviated newsgroup name.
3229 * src/folderview.c: folderview_update_node(): display newsgroups
3230 with abbreviated name if name and path is the same.
3231 * src/summaryview.c: summary_status_show(): show the newsgroup with
3237 src/folderview.c: changed the label 'Draft' to 'Drafts'.
3238 * src/imap.c: changed the directory name 'Draft' to 'Drafts'.
3239 imap_create_missing_folders(): fixed the wrong assignment of
3240 Queue folder to draft.
3244 * enabled Sent / Draft / Queue folders on IMAP server.
3245 * src/compose.c: compose_queue(), compose_draft_cb(): use account's
3246 queue and draft folder if they exist.
3248 imap_create_trash(): removed.
3249 imap_create_special_folder(): new. Generalized imap_create_trash().
3250 imap_create_missing_folders(): automatically create missing folders.
3251 imap_is_msg_changed(): added the dummy method.
3252 imap_scan_tree_recursive(): search also Sent, Draft and Queue
3253 folders. Minor code cleanups.
3254 imap_parse_envelope(): check for null strings.
3255 src/procmsg.c: procmsg_read_cache(): add F_QUEUE or F_DRAFT flag
3256 for messages on IMAP folder.
3260 * src/compose.c: compose_send(): use account's outbox folder
3262 * src/procmsg.[ch]: procmsg_save_to_outbox(): changed the API so
3263 that the outbox can be specified.
3267 * src/compose.c: don't save to outbox when messages are queued.
3268 compose_save_to_outbox(): moved to procmsg.c.
3269 * src/procmsg.[ch]: procmsg_send_queue(): save to outbox when
3271 procmsg_save_to_outbox(): new. Removes the queueing headers if
3272 needed, and adds the given file to the outbox.
3276 * src/compose.c: compose_wrap_line(): treat '|' also as quote char.
3277 get_indent_length(): treat ':' and '#' also as quote char, and
3278 cleaned up using strchr().
3282 * src/mainwindow.c: modified some menu items.
3286 * src/defs.h: changed OUTBOX_DIR from "outbox" to "sent"
3287 (current "outbox" will be kept until rescan).
3288 * src/folder.c: folder_set_missing_folders(): create the missing
3291 src/folderview.c: changed 'Outbox' to 'Sent'.
3292 * src/main.c: call folder_set_missing_folders().
3293 * src/mh.c: mh_scan_tree(): create missing folders.
3294 * src/summaryview.c: summary_set_menu_sensitive(): fixed a bug that
3295 didn't set the menu sensitivity correctly.
3300 src/imap.[ch]: implemented folder renaming on IMAP (thanks to Mio).
3301 folderview_rename_folder_cb(): reopen the current folder when
3302 the ancestor is renamed.
3303 imap_rename_folder(): new method implementation.
3305 imap_rename_folder_func(): new.
3306 imap_remove_folder(): remove also the cache directory.
3310 * src/imap.c: implemented locale encoding <-> modified utf-7
3311 conversion, and supported i18n of folder name (thanks to Suzuki
3313 imap_path_separator_subst(): handle the escape characters of
3315 imap_modified_utf7_to_locale()
3316 imap_locale_to_modified_utf7(): new.
3317 imap_create_trash(): modified so that it create the Trash folder
3318 to the correct location when imap directory is specified.
3319 imap_get_real_path(): removed debug print.
3323 * src/socket.c: implemented timeout for DNS lookup and connect().
3324 sock_connect_by_hostname(): timeout support and code cleanup.
3325 sock_connect_with_timeout(): new.
3326 sock_peek(): implemented SSL peek.
3330 * src/messageview.c: messageview_show(): display single-part
3331 text/html messages with the normal text view.
3345 src/prefs_customheader.c
3346 src/prefs_display_header.c
3361 src/xml.c: added 'b' to the option of all fopen().
3369 * src/ssl.[ch]: match its coding style.
3370 * src/compose.c: compose_send_later_cb(): fixed a bug that failed
3374 faq/en/sylpheed-faq*.html
3376 faq/es/sylpheed-faq*.html
3378 faq/fr/sylpheed-faq*.html
3384 src/manual.[ch]: added FAQs in English, Spanish and French.
3388 * manual/en/sylpheed*.html: updated to the latest version.
3393 src/mgutils.c: include string.h to remove warning about strlen()
3407 src/summaryview.c: added break to the last label of switch to
3408 prevent the 'deprecated use of label at end of compound statement'
3410 * src/rfc2015.c: passphrase_cb(): fixed the type of r_hd.
3414 * src/inc.[ch]: preserve the pointer to IncProgressDialog to the
3416 inc_cancel_all(): new. It cancels the all current incorporation.
3417 * src/mainwindow.c: added 'Cancel receiving' menu.
3418 * src/textview.c: a minor fix for single-part MIME messages, and
3419 a bit of cleanup for textview_write_body().
3423 * src/inc.c: inc_write_uidl_list(): fixed a bug that lost UIDL
3424 information if any errors occured before issuing UIDL command.
3425 src/inc.h: added uidl_is_valid to Pop3State.
3426 src/pop.c: set uidl_is_valid to TRUE if UIDL becomes valid.
3434 * src/mimeview.c: mimeview_create(): set the initial notebook page
3436 * src/folderview.c: folderview_selected(): scroll the view if the
3437 selected row is hidden.
3438 * src/prefs_filter.c: prefs_filter_register_cb(): scroll the view
3439 and select the added row.
3440 * src/summaryview.c: fix threading for null message ids.
3444 * src/textview.c: textview_show_message(): follow message/rfc822
3446 textview_add_part(): add a caption before the attached text files.
3447 textview_show_header(): don't add the newline.
3448 * src/messageview.c: enabled message search also in MIME mode.
3452 * src/messageview.c: messageview_show(): set header state of
3453 MimeView's TextView, too.
3454 * src/mimeview.c: mimeview_show_message(): call
3455 textview_show_message() to display message.
3456 * src/textview.c: textview_add_part(): new. It adds the content
3457 of message part without clearing the view.
3458 textview_show_message(): display all parts with appropriate
3460 textview_write_body(): separated from textview_show_part().
3465 src/prefs_common.c: added ISO-8859-15 to the codesets for
3466 displaying and sending.
3467 * src/codeconv.c: conv_codeset_strdup(): return NULL if code
3468 conversion failed, and made caller deal with it.
3469 * src/compose.c: compose_write_to_file(): show error dialog when
3470 code conversion failed, and let user select whether to send it
3472 * src/textview.c: textview_write_line(): show the original string
3473 if code conversion failed.
3477 * src/inc.c: get_spool(): fixed a bug that failed to unlock mbox
3478 if copy_mbox() failed (thanks to Alexander Kabaev).
3479 * src/prefs_account.[ch]: added separate user ID / password setting
3481 * src/send.c: send_message_smtp(): use separate user ID / password
3482 for SMTP AUTH if it is specified.
3487 src/pop.[ch]: refactored the UIDL management.
3488 store the information of messages into the array of Pop3MsgInfo
3489 structure, and do full scanning of not retrieved messages.
3495 src/mainwindow.c: set WMCLASS for window/dialog.
3496 * src/codeconv.c: conv_codeset_strdup(): return source string
3497 when jconv_alloc_conv() failed.
3501 * src/mh.c: mh_scan_tree_recursive(): changed the hardcoded directory
3508 src/summaryview.c: implemented the new notebook tab interface for
3510 * src/textview.[ch]: fixed line space related glitches.
3514 * src/prefs_filter.c:
3515 prefs_filter_rename_path()
3516 prefs_filter_delete_path(): fixed a crash when flt->dest was NULL.
3520 * src/recv.[ch]: cancel data receiving if RecvUIFunc returns FALSE.
3521 * src/pop.c: pop3_retr_recv(): fixed false 'No space' when cancelled
3523 * src/inc.c: inc_pop3_recv_func(): abort data receiving when
3524 cancelled, and fixed potential crash bug.
3525 * src/grouplistdialog.c: enabled cancelling of data receiving.
3526 * src/news.c: news_get_group_list(): destroy current session if
3531 * src/manage_window.[ch]: fixed a bug that caused crash when
3532 the main window was hidden.
3533 MANAGE_WINDOW_SIGNALS_CONNECT(): new macro.
3534 Monitor "unmap_event", "destroy" events.
3541 src/grouplistdialog.c
3545 src/message_search.c
3549 src/prefs_customheader.c
3550 src/prefs_display_header.c
3552 src/prefs_template.c
3553 src/summary_search.c
3554 src/summaryview.c: use MANAGE_WINDOW_SIGNALS_CONNECT() macro to
3555 connect signals for window management.
3559 * src/prefs_account.[ch]: added receive size limit option.
3560 * src/pop.c: skip messages larger than the limit size.
3561 LOOKUP_NEXT_MSG(): new macro.
3562 * src/compose.c: compose_attach_append(): check whether the file
3567 * src/rfc2015.c: commented out dump_mimeinfo() and dump_part().
3568 changed g_message()'s to debug_print() and g_warning().
3569 rfc2015_decrypt_message(): fixed a bug that duplicated message
3570 parts when decryption was failed/cancelled. And made some code
3572 * src/passphrase.c: made the dialog transient.
3573 * src/prefs.c: prefs_config_parse_one_line(): removed debug_print().
3578 src/procmsg.[ch]: fixed a bug that failed to parse multipart
3579 messages if GPGME was enabled.
3580 * src/rfc2015.c: commented out copy_gpgmedata_to_temp() which
3582 * src/prefs_account.c: prefs_account_privacy_create(): modified
3583 the vertical spacing.
3587 * src/menu.[ch]: menu_set_sensitive_all(): new.
3588 menu_set_insensitive_all(): made it a wrapper for
3589 menu_set_sensitive_all().
3590 * src/prefs_account.c:
3591 prefs_account_open()
3592 prefs_account_protocol_set_optmenu(): made the protocol type
3593 unchangeable after creating an account.
3594 * src/compose.c: compose_attach_parts(): traverse MIME tree to
3595 extract all attathed files from nested multipart MIME message.
3599 * src/procmsg.[ch]: procmsg_get_mark_sum(): added arguments to
3600 obtain minimum/maximum number, and to specify first number
3603 src/inc.c: enabled new message checking on news folder.
3604 * src/news.c: news_scan_group(): implemented. Guess new/unread
3605 message number from the response of GROUP command and the mark
3607 news_select_group(): return the total/first/last number.
3608 * src/prefs_account.c: prefs_account_receive_create(): modified
3609 the text of the 'Get all' check button.
3613 * src/account.c: made 'Get all' checkbox available for IMAP4 and
3615 * src/inc.c: corrected the argument of folderview_check_new().
3616 * src/prefs_account.c: modification for the "`Get all' checks for
3617 new mail on this account" checkbox.
3621 * src/folderview.[ch]:
3622 folderview_rescan_tree(), folderview_rescan_all(): renamed from
3623 folderview_update_tree() and folderview_update_all().
3624 folderview_update_all_node(): removed.
3625 folderview_check_new(): new. If the argument is NULL, it checks
3626 all local folders. If the arguments is specified, it checks
3627 the (local and remote) folder.
3630 inc_all_account_mail(): check also IMAP4 account.
3635 folderview_rename_folder_cb()
3636 folderview_delete_folder_cb(): modify the filter rules when folder
3638 * src/prefs_filter.[ch]:
3639 prefs_filter_rename_path(): new. It renames the destination paths
3641 prefs_filter_delete_path(): new. It deletes the filter rules if
3642 the destination paths matched.
3643 * thanks to Neill Miller for above.
3647 * src/compose.c: inherit attached files when forwarding or reediting
3648 (rewrote the code in claws branch).
3649 compose_attach_parts(): new. It extracts and attaches the files
3650 in the given message.
3651 compose_attach_append(): chnaged the types of arguments.
3652 * src/messageview.c: messageview_show(): moved the GPG decryption
3654 * src/procmsg.[ch]: procmsg_open_message_decrypted(): new.
3662 * src/summary_search(): summary_search_execute(): scroll the view
3663 when message view is hidden.
3667 * src/foldersel.c: foldersel_set_tree(): made different type of
3668 folders selectable in moving mode.
3669 * src/folderview.[ch]: folderview_update_msg_num(): compare the
3670 numbers with the CTree's labels, and don't update folder_item here.
3671 * src/imap.c: imap_move_msg(), imap_move_msgs_with_dest():
3672 implemented moving between different type of folders.
3673 * src/mh.c: SET_DEST_MSG_FLAGS(): new macro.
3674 mh_do_move(), mh_do_move_msgs_with_dest(): new (renamed previous
3675 mh_move_msg() and mh_move_msgs_with_dest()).
3676 mh_move_msg(), mh_move_msgs_with_dest(): implemented message
3677 moving between different type of folders.
3678 mh_copy_msg(), mh_copy_msgs_with_dest(): some code cleanups.
3679 * src/summaryview.c: summary_status_show(): update folder_item
3681 * po/POTFILES.in: removed reference to headerwindow.c.
3682 * src/summaryview.c: summary_step(): fixed the behavior on the
3683 head and tail of the list.
3687 * src/mainwindow.c: main_window_set_menu_sensitive(): set 'Show
3688 all header' toggle state from the property of the TextView.
3689 * src/summaryview.[ch]: made 'All header' toggle switch.
3690 Prohibited unnecessary menu update.
3691 summary_select_node(): added the argument 'do_refresh'.
3696 * src/utils.c: strsplit_with_quote(): remove quotation characters
3697 in the function (fix composer's external editor problem) (thanks
3698 to Stefaan A Eeckels).
3699 * src/mainwindow.[ch]: made 'Show all header' toggle switch.
3700 main_window_menu_callback_block()
3701 main_window_menu_callback_unblock(): new.
3702 main_window_set_menu_sensitive(): set the toggle status of
3704 show_all_header_cb(): read the status of toggle menu item.
3705 * src/mainwindow.[ch]: made 'Thread view' toggle switch.
3706 * src/prefs_common.c: prefs_keybind_apply_clicked(): removed
3711 * src/imap.c: imap_add_msg(): fixed a bug that didn't replace
3712 the path separator (thanks to Sergey Vlasov).
3713 * src/gtkutils.c: gtkut_editable_get_selection(): return NULL
3714 if the length of selection is zero.
3715 Fixed the assertion.
3716 * src/utils.c: str_open_as_stream(): return immediately if
3717 the length of str is zero.
3718 * src/headerwindow.[ch]: removed.
3720 src/inc.c: removed stale thread support codes.
3724 * src/procmsg.c: procmsg_open_message(): modified so that it
3725 returns the stream of decrypted message file if it exists
3726 (this fixes the failure of gpg decryption in messageview.c).
3736 src/prefs_template.c
3738 src/quote_fmt_parse.y
3740 src/utils.[ch]: if the part of the message text is selected, use
3741 it for quoted text instead of the entire message body (thanks to
3743 src/utils.[ch]: str_open_as_stream(): new. It returns an
3744 temporary stream for the given string.
3745 * src/main.c: added "--send" command line option.
3746 * src/compose.c: compose_reply_set_entry(): add From address to
3747 Cc if Reply-To and to_all are both specified.
3748 * Makefile.am: correct the Source: line in the RPM spec file in
3753 * src/procmsg.c: procmsg_open_message(): fetch message if the cache
3755 * src/foldersel.[ch]: foldersel_folder_sel(): added an argument
3756 that specifies the folder selection type.
3767 src/prefs_customheader.c
3769 src/summaryview.c: made it compile with C compilers other than gcc
3770 (thanks to Shawn Houston).
3774 * src/imap.c: imap_copy_msgs_with_dest(): fixed a bug on traversing
3776 * src/prefs_common.c: made the key binding setting separate dialog.
3777 * src/addressbook.c: addressbook_format_address(): add "" around
3778 the display name if it contains comma (thanks to Satoshi Watanabe).
3779 * src/addr_compl.c: get_complete_address(): add "" around the
3780 display name if it contains comma.
3781 get_address_from_edit(): handle the quotation character correctly.
3782 * src/addr_compl.c: get_complete_address()
3783 src/addressbook.c: addressbook_format_address(): fixed a bug that
3784 caused wrong text processing if the display name is empty.
3789 * src/compose.c: compose_exec_ext_editor_real(): replaced
3790 g_strsplit() with strsplit_with_quote().
3792 src/folderview.c: folderview_drag_motion_cb(): minor code cleanups.
3794 folderview_drag_motion_cb()
3795 folderview_drag_received_cb(): allow dropping into IMAP4 folder.
3796 * src/utils.c: get_file_size_as_crlf(): use fgets() instead of
3800 imap_copy_msgs_with_dest(): use imap_add_msg() if the source
3801 of the message is different from the current mailbox.
3802 Return the correct value.
3803 imap_cmd_append(): properly implemented the APPEND command.
3808 src/messageview.[ch]
3809 src/summaryview.[ch]
3810 src/textview.[ch]: show all headers in the message view, and don't
3811 use the header window anymore.
3813 src/prefs_common.c: changed the default shortcut of 'compose new
3816 src/summaryview.[ch]: summary_display_msg_selected(): new.
3817 Show the selected message if 'Show all header' is selected.
3819 src/sourcewindow.c: changed some procmsg_get_message_file_path()
3820 to procmsg_get_message_file() to be sure the message is
3822 * src/folderview.c: folderview_drag_motion_cb(): allow DnD from
3823 any folder to MH folder.
3824 folderview_drag_received_cb(): copy messages instead of moving
3825 if the source folder is news or IMAP.
3827 src/summaryview.c: allow copy from news folder.
3831 * src/prefs_common.c: prefs_other_create(): modified the design
3832 of the external command settings.
3833 prefs_keybind_apply_clicked(): made the Mew / Wanderlust keybind
3834 preset closer to the original.
3835 Added Mutt keybind preset.
3836 Also change the compose keybinds.
3837 * src/compose.c: modified some menu shortcuts.
3838 * src/codeconv.c: modified the locale_table for Thai encoding.
3842 * src/Makefile.am: added $(GPGME_CFLAGS) to INCLUDES.
3843 * src/prefs_common.c: prefs_interface_create(): modified the
3844 description for menu shortcut.
3848 * src/gtkutils.[ch]: added gtk_stext_clear().
3851 src/summaryview.[ch]: enabled multiple forwarding.
3852 * src/summaryview.c:
3853 summary_set_marks_selected(): set marks for all selected row.
3854 summary_reply(): moved from summary_reply_cb().
3855 * compose.[ch]: compose_forward(): modified so that it receives
3857 * src/mainwindow.c: cleanup for reply processing.
3858 * src/summaryview.c: summary_reply(): fixed a memory leak.
3859 summary_key_pressed(): removed hardcoded mark / mark as unread
3862 src/prefs_common.c: added mark / mark as unread shortcuts to
3867 * src/compose.c: compose_wrap_line_all(): wrap quoted part even
3868 if prefs_common.linewrap_quote is not set (it is only for
3869 auto-wrapping on reply).
3870 * src/prefs_account.c: prefs_account_open(): initialize tmp_ac_prefs
3871 when creating a new account.
3872 * src/mh.c: mh_get_msg_list(): use also st_ctime to detect
3874 * src/prefs_common.c: prefs_interface_create(): modified the
3875 description of key binds selector.
3879 * src/mimeview.c: fixed multiple dialog / moving by correcting
3880 button / key event processing.
3882 src/textview.c: pass some key press events to MimeView in MIME
3884 * src/prefs_filter.c: fixed a bug that didn't set the order of
3886 * src/prefs_common.c: prefs_keybind_apply_clicked(): fixed
3887 empty_menurc string.
3892 src/prefs_common.c: reorganized the menu shortcuts.
3893 Added 'View - Toggle summary view'.
3894 * src/summaryview.[ch]: summary_toggle_view(): made it public
3896 * src/prefs_common.[ch]: swapped the position of 'Shortcut key'
3898 * src/importldif.c: imp_ldif_delete_event(): fixed segfault when
3899 closing the dialog with window manager (in more appropriate way).
3900 * src/imageview.[ch]
3902 src/mimeview.c: fixed wrong scrolling position when switching
3903 between text and image parts. Also free the unrequired image
3904 (thanks to Sergey Vlasov).
3905 * src/prefs_common.c: disabled 'Go to inbox after receiving new mail'
3910 * src/prefs_common.c: implemented shortcut quick changer.
3911 * src/folderview.c: folderview_key_pressed()
3912 src/summaryview.c: summary_key_pressed(): removed some hardcoded
3918 procmime_get_mime_type()
3919 procmime_get_mime_type_table(): made the MIME type search case
3922 gtk_stext_delete_line(): delete newline on empty line.
3923 gtk_stext_delete_to_line_end(): delete newline if cursor is on
3925 (thanks to Yasuzaki Masayoshi.)
3930 src/gtkstext.[ch]: removed the hardcoded shortcuts in GtkSText,
3931 and made them customizable.
3932 * src/utils.[ch]: added get_file_size_as_crlf() which returns
3933 the file size when converting LF to CR+LF.
3937 * src/compose.c: enabled 'Ctrl-Enter' or
3938 'Ctrl-(other modifier keys)-Enter' shortcut that didn't work
3940 * src/gtkstext.c: disabled some Emacs key bindings.
3941 gtk_stext_key_press(): don't extend selection when Shift-Enter
3942 is pressed to prevent the disapperance of cursor.
3943 * src/summaryview.c: summary_select_next_unread(): added the button
3944 to search unread message again from the beginning to the dialog.
3945 * src/folderview.c: folderview_key_pressed(): go to next unread
3946 folder if space key is pressed on the empty folder.
3947 Move CTree focus before selecting row.
3951 * src/defs.h: modified the XLFD of default fonts.
3952 * src/textview.c: textview_create(): fixed a bug that caused
3953 segfault if font couldn't be loaded.
3955 src/grouplistdialog.c: compare subscribed groups with path.
3956 * src/prefs_filter.c: changed 'Operator' to 'Condition'.
3960 * src/compose.c: compose_wrap_line_all(): fixed wrapping crash
3961 when URL is wider than wrapping margin.
3963 src/prefs_filter.[ch]
3964 src/summaryview.[ch]: added "Create filter rule" function based
3965 on the patch from Luca Rosellini.
3966 * src/summaryview.c: summary_filter_open(): added X-List and
3967 X-Mailing-list to the automatically detected headers.
3971 * configure.in: support Mac OS X (Darwin).
3975 * src/prefs_filter.c: use inc_(un)lock() instead of
3976 inc_autocheck_timer_{remove|set}().
3977 * src/summaryview.c: summary_sort(): use gtk_ctree_sort_recursive()
3978 instead of gtk_ctree_sort_node() so that messages within threads
3980 * src/procmsg.c: procmsg_read_mark_file(): fixed a bug that the
3981 target of sizeof was wrong and caused crash on Alpha architecture
3982 (thanks to Motonobu Ichimura).
3987 foldersel_gnode_func(): made the names of special folders
3989 foldersel_set_tree(): move the special folder to the top.
3990 * src/inputdialog.[ch]: input_dialog_query_password(): new.
3994 src/send.c: use input_dialog_query_password() instead of their
3995 own query functions.
3999 * src/defs.h: modified the default font.
4003 src/news.[ch]: moved the class definition and some methods to
4004 the proper location.
4008 * src/mimeview.c: mimeview_save_as()
4009 src/summaryview.c: summary_save_as(): put the default filename
4010 based on the subject.
4011 * src/utils.[ch]: added subst_chars() and subst_for_filename()
4012 which substitute some special characters with underscore.
4013 * src/filesel.c: filesel_select_file(): select the default filename.
4018 INSTALL.jp: added the description and the URL for libjconv.
4019 * src/mainwindow.c: menu entries cleanup.
4025 src/about.c: modified the copyright year.
4026 * src/gtkstext.h: added the notice for modification by the Sylpheed
4032 INSTALL.jp: added the URL for compface.
4040 * src/headerwindow.c
4043 src/sourcewindow.c: set wmclass when creating windows.
4047 * src/compose.c: compose_wrap_line_all(): fixed the bug that
4048 caused infinite loop when wrapping certain patterns of quoted text.
4052 * src/imap.c: imap_parse_envelope(): put the assertion after
4053 imap_parse_address() to prevent segmentation fault.
4058 src/mainwindow.c: modified some labels of menu items.
4059 * src/ldif.c: put the return value of fgetc() in a gint.
4060 * src/importldif.c: don't brace null strings with _().
4061 * src/compose.c: moved the position of Subject entry to the last.
4062 Reorganized the menu.
4063 compose_draft_cb(): added 'keep editing after saving to draft'
4068 * src/mainwindow.c: reorganization of main menu. Removed 'Summary'
4069 menu. Moved 'Help' menu to just the right of 'Configuration'.
4070 Removed 'File - Close' menu item.
4074 * src/mainwindow.c: some menu reorganization.
4075 * AUTHORS: updated. Added more contributors.
4076 * src/account.c: account_row_moved(): new. Moves displayed row to
4077 the appropriate position when up / down button are pressed.
4078 account_clist_set(): move displayed row to the appropriate position.
4080 src/mainwindow.c: set title and wmclass when creating windows.
4084 * src/gtkstext.c: fixed a bug that didn't show block cursor
4085 correctly. Removed unnecessary GdkGC copy. Fixed cursor
4090 src/undo.c: modified to use GtkSText.
4091 * src/menu.h: added #include <gtk/gtkmenu.h>.
4096 configure.in: added XIM checking for GTK+.
4097 * src/gtkstext.[ch]: new. Copied GtkText in GTK+ and renamed.
4101 * src/filter.c: added #include <sys/types.h>.
4105 * src/template.c: template_write_config(): fixed a typo.
4106 * src/compose.c: toolbar_linewrap_cb(): call compose_wrap_line_all().
4108 src/prefs_filter.c: supported regular expression (thanks to
4110 * src/undo.c: undo_paste_clipboard_cb(): fixed a bug that broke
4111 undo state when pasted clipboard was empty.
4112 undo_check_size(): use g_list_last().
4114 undo_redo(): fixed NULL checking and made a bit of optimization.
4116 * src/prefs_common.c: changed the default value of linewrap length
4121 * reorganization of pixmap management.
4122 * src/stock_pixmap.[ch]: new. This module manages all static pixmaps.
4123 * modified every files which directly use pixmaps data to use
4125 * src/undo.[ch]: renamed undo_set_undo_change_funct() to
4126 undo_set_change_state_func(), and changed its argument from
4127 GtkWidget* to gpointer.
4128 undo_merge(): code cleanup.
4129 * src/compose.c: renamed compose_set_undo() to
4130 compose_undo_state_changed().
4134 * src/account.c: account_find_from_address(): made it case
4136 * src/addressbook.c: addressbook_create(): set wmclass.
4137 * src/compose.c: compose_insert_file(): supported DOS/Win/Mac line
4140 src/ldif.[ch]: merged from the claws branch.
4141 * src/importldif.c: removed some warnings.
4142 imp_ldif_field_list_toggle(): fixed button checking.
4143 imp_ldif_dialog_create(): minor layout fix.
4144 * src/ldif.c: removed some warnings.
4146 INSTALL.jp: updated confirmation list.
4149 vcard_test_read_file(): fixed a memory leak of tagtemp.
4150 Some code cleanups (decreasing the indent level).
4153 src/syldap.[ch]: disabled runtime library checking because JPilot
4154 and LDAP libraries are linked on the build time, and the program
4155 doesn't execute without them anyway.
4157 src/addrindex.c: changed "J-Pilot" to "JPilot".
4158 Removed warning for atoi().
4162 * src/procmsg.c: procmsg_empty_trash()
4163 src/mainwindow.c: main_window_empty_trash(): empty trash only if
4164 it contains some messages.
4165 * src/imap.c: search_array_str(): new.
4166 imap_status(): fixed a bug that didn't parse the command response
4171 * merged undo function (by Jens Oberender).
4172 * src/undo.[ch]: new.
4173 undo_insert_text_cb(): fix for multibyte characters (obtain the
4174 number of letters instead of bytes).
4175 * src/compose.[ch]: added the code for undo.
4176 * src/prefs_common.[ch]: added the interface for setting undo level.
4180 * src/compose.c: compose_template_apply()
4181 src/prefs_template.c: prefs_template_clist_set_row()
4182 src/template.c: template_write_config(): don't replace To: and
4183 Subject: entry in composition window if they are empty.
4191 * src/folderview.c: folderview_drag_motion_cb(): fixed a DnD bug.
4192 * src/ldif.c: ldif_get_line(): ignore CR.
4193 * src/mimeview.c: mimeview_show_message(): search also text/html
4194 for first text part.
4198 * src/prefs_account.c: prefs_account_save_config_all(): fixed a bug
4199 that didn't update accountrc if account_list == NULL (thanks to
4204 * src/utils.h: added the macro Xstrcat_a() that concatenates
4205 two strings and return alloca'd string.
4206 * src/imap.c: imap_scan_tree_recursive(): fixed a bug that didn't
4207 handle folder name which includes some spaces correctly
4208 (based on the patch from Willem van Engen (thanks!)).
4209 * src/compose.c: compose_wrap_line_all(): fixed the crash when
4210 wrapping long lines if linewrap quotation is disabled and
4211 a word spanning more than one line.
4215 * applied the Tobias' patch with modification (thanks!).
4217 imap_msg_set_perm_flags()
4218 imap_msg_unset_perm_flags(): new. They set permanent flags to
4221 src/summaryview.c: set flags on IMAP server when flags are changed.
4225 * src/gtkutils.[ch]: gtkut_container_remove(): new. It's a wrapper
4226 of gtk_container_remove() for workaround of a bug in
4227 Gtk{Text,Entry} (thanks to Sergey Vlasov).
4233 src/textview.c: replaced gtk_container_remove() with
4234 gtkut_container_remove(), and removed previous partial fix.
4238 * src/prefs_account.c: prefs_account_apply(): fixed a bug that
4239 checked user ID on "local", but didn't on IMAP4.
4240 * src/imap.c: imap_session_get(): fixed a crash bug when
4241 rfolder->session == NULL.
4242 * Makefile.am: changed the arguments of tar from 'chojf' to
4244 * src/summaryview.c: summary_toggle_view(): disclaim the selection
4245 of textview before removing vpaned.
4249 * src/messageview.c: messageview_change_view_type(): disclaim the
4250 selection before removing textview. This solves the mysterious
4251 copy-paste disability (thanks to Melvin Hadasht).
4252 * src/textview.c: textview_set_font(): use
4253 gtk_editable_claim_selection() instead of
4254 gtk_editable_select_region().
4258 * src/prefs_template.c: prefs_template_window_create(): supported
4259 address completion on the To: entry.
4264 folder_count_total_msgs()
4265 folder_count_total_msgs_func(): use g_node_traverse() to traverse
4270 * src/compose.c: fixed a bug that empty body was refused.
4271 * src/prefs_template.c: fixed a bug that didn't set To: entry
4272 correctly. Display error dialog if format is illegal.
4273 * src/prefs_common.c
4275 src/quote_fmt_parse.y: changed parenthesis "( )" to curly braces
4276 "{ }" to prevent confusion on using parenthesis.
4277 * src/html.c: html_get_parenthesis(): ignore CSS / script stuff.
4281 * src/prefs_template.c: added colon to the header labels.
4286 src/prefs_template.c
4287 src/template.[ch]: added To field to the template.
4291 * src/textview.c: textview_show_part(): use first found
4292 message/rfc822 header.
4293 * src/folderview.c: added "Search messages..." to the context menu.
4294 * src/prefs_common.c: prefs_quote_description_create(): added
4295 description for characters which need to be escaped.
4299 * src/compose.c: compose_wrap_line_all(): more merging from claws.
4300 GET_CHAR(): renamed GET_TEXT() and made it more generic.
4301 Modified compose_wrap_line() and compose_wrap_line_all() to use
4303 * src/textview.c: textview_show_part(): show the header of nested
4304 RFC822 attachment correctly.
4309 src/main.c: added --status option to get new, unread and total
4310 message count from a running Sylpheed (merged from claws).
4311 prohibit_duplicate_launch(): output '\n' only once.
4316 src/gtkutils.[ch]: merged the new wrapping function.
4317 gtkut_text_str_compare_n()
4318 gtkut_text_str_compare()
4319 gtkut_text_is_uri_string(): backport from the GtkSText in the
4320 claws branch, and made modification.
4321 * src/prefs_template.c
4322 src/template.[ch]: added Subject to the template.
4326 * src/compose.c: compose_write_headers(): added missing parenthesis
4327 that generated invalid custom header (thanks to Masaaki Noro).
4328 Allow Sender: custom header.
4332 * src/procheader.c: procheader_date_parse(): workaround for
4333 RFC-incompliant Date header.
4337 * src/addrbook.c: removed redundant functions, and fixed generation
4338 of spurious address book file names.
4339 * src/addrindex.c: V-Card -> vCard.
4343 * src/textview.c: get_email_part(): replaced isalnum() with
4344 the macro IS_ASCII_ALNUM() which restricts the range of
4345 characters to 7bit ASCII (thanks to Shimamoto).
4346 * src/utils.c: remote_tzoffset_sec(): workaround for malformed
4351 * src/textview.c: textview_show_part(): show headers on nested
4356 * src/imap.c: imap_session_get()
4357 src/news.c: news_session_get(): fixed segfault when reconnection
4359 * src/grouplistdialog.c: removed redundant code, and expand nodes
4360 that doesn't match the pattern.
4364 * src/compose.c: modified so that it sends message when any of
4365 To:, Cc:, Bcc:, or Newsgroups: fields have valid recipient.
4366 compose_check_for_valid_recipient(): new.
4367 * src/grouplistdialog.c: improved the UI.
4368 Added appropriate description and search button.
4369 Search doesn't get group list again.
4373 * src/news.[ch]: news_session_get(): update the last access time
4375 news_group_list_free(): new.
4376 * src/grouplistdialog.c: free resources correctly.
4381 src/grouplistdialog.[ch]: more merging of new newsgroup
4382 subscription dialog.
4383 * src/news.[ch]: renamed news_remove_group_list() to
4384 news_remove_group_list_cache().
4388 * src/defs.h: added MAX_ENTRY_LENGTH definition.
4389 * src/compose.c: compose_add_entry_field(): create new entry with
4394 * src/grouplistdialog.c: made non-leaf node selectable.
4395 Give the complete newsgroup name for each nodes.
4399 * src/grouplistdialog.c
4400 src/news.[ch]: merging of new newsgroup subscription dialog
4401 (still in progress. Don't use it yet!).
4405 * src/utils.[ch]: decode_uri(): new. It decodes URL-encoded strings.
4406 * src/compose.[ch]: compose_new_with_recipient(): accept mailto
4408 compose_entries_set(): new. It parses mailto URL and put each
4409 values into the entries.
4413 * src/compose.c: compose_forward(): fixed a bug that forward
4414 quote mark wasn't used (thanks to Hironori IWANE).
4417 src/prefs_common.c: added Thai encodings (thanks to Manrat
4422 * src/socket.c: sock_connect_by_hostname(): removed h_errno.
4426 src/news.c: added last_access_time to Session.
4427 imap_session_get(): check connection only when access interval
4436 * src/socket.c: ssl_gets(): use SSL_peek.
4437 * updated NEWS and AUTHORS.
4438 * Makefile.am: fixed release target.
4442 * src/template.c: changed the format of template file to
4444 * src/compose.c: compose_template_apply(): freeze the text widget
4445 while inserting strings.
4449 * po/POTFILES.in: removed src/template_select.c.
4450 * src/summaryview.c: summary_set_header()
4451 src/address.c: address_parse_str()
4452 src/filter.c: filter_read_str()
4453 src/news.c: news_parse_xover()
4454 src/procheader.c: procheader_get_fromname()
4455 src/utils.c: subject_compare():
4456 replaced Xalloca() + strcpy() with Xstrdup_a().
4457 * src/inputdialog.[ch]: added combo mode.
4458 input_dialog_combo(): new.
4459 * src/prefs_common.[ch]: added MIME open command setting.
4460 prefs_common_{read, save}_config(): read / write command history.
4461 * src/mimeview.c: mimeview_open_with(): use combo input dialog.
4462 * src/utils.[ch]: add_history(): history list management function.
4466 * src/compose.c: select templates from the menu.
4467 compose_set_template_menu(): new.
4468 compose_reflect_prefs_all(): new.
4469 compose_template_apply(): new. Use dummy MsgInfo for parsing.
4470 * src/template.[ch]: store template list to the static heap.
4471 template_get_config(): new.
4472 template_set_config(): new.
4473 * src/prefs_template.c: don't store template list to the global area.
4474 * src/template_select.[ch]: removed.
4475 * src/quote_fmt_parse.y: check folderitem when quoting messages.
4476 * src/mh.c: mh_add_msg(): try to copy file whenever link() failed
4477 (thanks to OSHIRO Naoki).
4481 * src/utils.[ch]: get_template_dir(): new.
4482 * src/template.c: use get_template_dir().
4486 * src/prefs_template.c: modified the dialog layout.
4487 Added symbol description button.
4488 * src/summaryview.c: show an arrow mark to the column of the sort
4490 summary_set_column_titles(): new.
4496 TODO.jp: updated the documents.
4500 * src/Makefile.am: add missing checkbox_{on, off}.xpm.
4501 * src/textview.c: textview_key_pressed()
4502 src/mimeview.c: mimeview_key_pressed()
4503 src/summaryview.c: summary_key_pressed(): delete messages with
4508 * src/socket.c: ssl_gets(): fixed a bug that caused infinite loop
4509 when SSL_read() returned 0.
4510 * src/utils.[ch]: strcrchomp(): new. It removes CR from the tail
4512 * src/quote_fmt_parse.y: convert CRLF to LF when inserting messages.
4513 Add prototype of yylex() to suppress the warning.
4514 * merged the template function.
4515 * src/prefs_template.[ch]
4517 src/template_select.[ch]: new.
4518 Renamed prefs_templates_* -> prefs_template_*.
4519 * src/compose.c: added template menu. Added replyinfo to Compose.
4520 * src/mainwindow.c: added template setting menu.
4521 * src/quote_fmt_lex.l: output literal tab and return as is.
4522 * src/prefs_common.c: changed the pref. name of quote format to
4523 'reply_quote_{mark, format}' and 'fw_quote_{mark, format}'.
4527 * src/prefs_common.[ch]: added Quote tab, and moved the quote
4528 setting from Compose tab.
4529 * merged the new quote format parser.
4530 * src/quote_fmt_lex.h
4533 src/quote_fmt_parse.y: new files for quote format parser.
4534 * configure.in: added checks for lex and yacc.
4535 * src/compose.c: compose_quote_file(), compose_quote_parse_fmt():
4537 compose_quote_fmt(): new.
4538 * src/prefs_common.[ch]: added forward format setting to the
4539 Quote tab. Updated the quote description dialog.
4540 * src/quote_fmt_parse.y: fixed bugs that tried to read file even
4541 if they couldn't get text part.
4545 * src/pixmaps/checkbox_off.xpm
4546 src/pixmaps/checkbox_on.xpm: new.
4547 * src/account.c: display `get all' status with the checkbox pixmaps.
4551 * src/send.c: code cleanup. Pass account prefs structure instead
4553 Query password for SMTP AUTH if not specified (thanks to Mio).
4557 * src/procheader.c: procheader_parse(): fixed a bug that didn't
4558 parse multiple message-id in In-Reply-To: header correctly
4559 (thanks to KAJIWARA).
4563 * src/account.c: enabled 'Get all' setting by clicking the 'G'
4564 column of account list, and added some description.
4565 * src/prefs_common.c: prefs_send_create(): added a description
4566 for outgoing codeset.
4570 * src/prefs_account.[ch]: moved inbox entry to the receive tab,
4571 and added select button and short description.
4572 * src/Makefile.am: added SYSCONFDIR to CPPFLAGS.
4574 procmime_get_mime_type_table()
4575 procmime_get_mime_type_list(): modified so that
4576 $(SYSCONFDIR)/mime.types (or /etc/mime.types if not found) and
4577 $(HOME)/.sylpheed/mime.types are read.
4581 * src/prefs_account.c: moved the address auto-setting to the compose