sync with 0.9.4cvs4
[claws.git] / ChangeLog
1 2003-07-31
2
3         * minor code cleanups for the folder system.
4         * src/compose.c: compose_queue(), compose_draft_cb(): code cleanup.
5         * src/folder.c: code cleanups.
6         * src/imap.c
7           src/mh.c: calculate message numbers inside the functions.
8         * src/procmsg.c: procmsg_set_flags(): calculate message numbers.
9         * src/summaryview.[ch]: don't calculate and preserve message numbers
10           inside SummaryView,
11
12 2003-07-30
13
14         * src/folder.[ch]
15           src/imap.[ch]
16           src/mh.[ch]
17           src/procmsg.c
18           src/summaryview.c: renamed *_msgs_with_dest() to *_msgs().
19
20 2003-07-29
21
22         * src/imap.[ch]: use CAPABILITY to use protocol extentions.
23           imap_greeting(): parse initial server greeting. Also support
24           PREAUTH response.
25           imap_add_msgs()
26           imap_cmd_append(): use APPENDUID responses if UIDPLUS is supported.
27
28 2003-07-28
29
30         * src/imap.c: imap_get_flag_str(): fixed a buffer overrun.
31
32 2003-07-25
33
34         * version 0.9.4
35
36 2003-07-25
37
38         * src/main.c: main(): don't save config files on startup.
39
40 2003-07-25
41
42         * src/imap.c:
43           imap_get_msg_list(): removed redundant UID SEARCH ALL when not
44           using cache.
45           Unset MSG_NEW flag if \Seen is set.
46           imap_get_uncached_messages(): fetch all messages if both first_uid
47           and last_uid is 0.
48
49 2003-07-24
50
51         * src/imap.c: revamped the implementation so that it always
52           exactly reflects the state of IMAP4 servers.
53           imap_get_msg_list(): examine the state of messages using
54           UID SEARCH commands.
55           imap_delete_cached_message(): removes single message cache.
56           imap_get_uid(): removed.
57           imap_cmd_search(): new. It issues UID SEARCH command and returns
58           an array of UIDs.
59           imap_cmd_gen_recv(): made the length of strings unrestricted.
60           imap_get_uid_table(): returns a hash table from UID array.
61
62 2003-07-24
63
64         * src/folder.[ch]
65           src/imap.[ch]
66           src/mh.[ch]
67           src/news.[ch]: added Folder::close() method.
68         * src/summaryview.c: summary_clear_list(): call folder_item_close().
69
70 2003-07-23
71
72         * flags are now taken over when copying messages into IMAP folders
73           from others.
74         * src/imap.[ch]
75           src/mh.[ch]
76           imap_add_msg()
77           imap_add_msgs()
78           mh_add_msg()
79           mh_add_msgs(): flags can be also specified when adding files.
80         * src/folder.[ch]: added assertions for virtual functions.
81         * src/procmsg.[ch]: procmsg_get_message_file_list(): return the list
82           of MsgFileInfo.
83           procmsg_message_file_list_free(): new.
84
85 2003-07-23
86
87         * src/procmsg.h: changed MsgPermFlags and MsgTmpFlags from enum to
88           guint32 for portability (thanks to Alfons).
89         * src/imap.c: imap_add_msgs(): removed redundant unlink().
90
91 2003-07-22
92
93         * src/session.[ch]:
94           session_read_msg_cb()
95           session_read_data_cb(): fixed a bug that ran into infinite loop
96           if connection was closed by remote host (thanks to Yoichi Imai).
97           Added SESSION_EOF state to SessionState.
98           session_is_connected(): new.
99         * src/inc.[ch]: inc_put_error()
100           src/send_message.c: send_put_error(): also put log messages.
101
102 2003-07-18
103
104         * more optimization of IMAP4.
105         * src/folder.[ch]: added a method add_msgs() that adds multiple files
106           to a folder.
107           Removed redundant scan() for the operations of FolderItem.
108         * src/imap.[ch]: implemented Folder::add_msgs() and optimized move
109           and copy from other Folder instances.
110         * src/mh.[ch]: implemented Folder::add_msgs() and cleaned up the code.
111           mh_fetch_msg(): scan folder if required.
112         * src/procmsg.[ch]: procmsg_get_message_file_list(): returns file
113           list from message list.
114         * src/summaryview.c: don't remove MSG_MARKED flags on
115           delete/move/copy operation.
116           summary_display_msg_full(): removed redundant message fetching.
117
118 2003-07-17
119
120         * optimized move/copy/delete/mark operations of IMAP4 by using
121           sequence set when issuing commands (adopted claws' implementation
122           with cleaning it up).
123         * src/imap.[ch]:
124           imap_set_message_flags()
125           imap_cmd_envelope()
126           imap_cmd_copy()
127           imap_cmd_store(): take sequence set string instead of UID number.
128           imap_do_copy_msgs_with_dest(): optimized by using sequence set.
129           imap_cmd_fetch(): use BODY.PEEK instead of BODY.
130           imap_remove_all_msg()
131           imap_set_message_flags(): use FLAGS.SILENT instead of FLAGS.
132         * src/compose.c
133           src/summaryview.c: use imap_msg_list_{set,unset}_perm_flags()
134           instead of issuing commands for each message.
135
136 2003-07-15
137
138         * src/inc.c
139           src/prefs_account.[ch]
140           src/send_message.c
141           src/session.[ch]: added an option to enable/disable non-blocking
142           SSL.
143
144 2003-07-15
145
146         * src/compose.c: compose_attach_append(): display message's subject
147           when attaching message/rfc822 file.
148
149 2003-07-14
150
151         * src/session.[ch]:
152           session_recv_msg()
153           session_recv_data()
154           session_read_msg_cb()
155           session_read_data_cb(): optimized by removing sock_peek() and
156           buffering received data in user space (correctly implemented
157           this time).
158
159 2003-07-11
160
161         * src/session.c: reverted the previous change because it couldn't
162           handle data receiving after messages correctly.
163
164 2003-07-11
165
166         * src/session.c:
167           session_recv_msg()
168           session_read_msg_cb(): optimized by removing sock_peek() and
169           buffering messages in user space.
170
171 2003-07-11
172
173         * src/imap.[ch]: refactored.
174           Changed all functions that have SockInfo arguments to take
175           IMAPSession.
176           Made imap_cmd_count an instance variable: IMAPSession::cmd_count.
177           imap_open(): only establish TCP (or SSL) connection.
178           imap_session_new(): process greeting and authentication here.
179
180 2003-07-10
181
182         * src/imap.[ch]: implemented CRAM-MD5 authentication, and made code
183           cleanups.
184         * src/prefs_account.[ch]: added option menu for IMAP4 authentication
185           type in Receive tab, and hide other protocols' frames.
186
187 2003-07-10
188
189         * src/mainwindow.c: send_queue_cb(): don't scan folder twice if
190           error occurred.
191         * src/procmsg.c: procmsg_send_queue(): return number of sent
192           messages.
193
194 2003-07-09
195
196         * src/mainwindow.c:
197           main_window_set_toolbar_sensitive()
198           main_window_set_menu_sensitive(): removed the locking of file
199           operations while receiving mail.
200
201 2003-07-09
202
203         * src/folder.[ch]: folder_item_remove_msg(): take MsgInfo as an
204           argument instead of message number.
205         * src/imap.[ch]: imap_remove_msg(): reimplemented using
206           imap_remove_msgs().
207         * src/mh.[ch]: mh_do_move(): reimplemented using
208           mh_do_move_msgs_with_dest().
209           mh_copy_msg(): reimplemented using mh_copy_msgs_with_dest().
210         * src/procmsg.c: procmsg_send_queue(): modified to use message list.
211
212 2003-07-08
213
214         * src/rfc2015.c: rfc2015_is_encrypted(): check MimeInfo::mime_type
215           to suppress some warnings.
216         * src/logwindow.c: log_window_append(): don't scroll up when trimming
217           lines.
218
219 2003-07-07
220
221         * src/compose.c: add 'Content-Disposition: inline' to a text/plain
222           part when using PGP/MIME signing.
223
224 2003-07-04
225
226         * version 0.9.3
227
228 2003-07-04
229
230         * src/defs.h: changed UI_REFRESH_INTERVAL from 40msec to 50msec.
231         * src/session.c: session_read_msg_cb(): make it always fail if
232           sock_read() returns by error.
233         * src/socket.[ch]: sock_check(): handle exceptional SSL condition.
234           sock_has_pending_data(): removed.
235           Removed debug output.
236         * src/send_message.c: send_recv_message(): display messages to
237           statusbar.
238
239 2003-07-03
240
241         * src/inc.[ch]: update received message number on CList while
242           retrieving.
243         * src/session.c: session_read_data_cb(): optimized by removing
244           g_malloc() and memcpy().
245
246 2003-07-02
247
248         * src/socket.[ch]: sock_add_watch(): new. It monitors SSL by original
249           watch functions (otherwise uses g_io_add_watch()).
250         * src/session.[ch]: removed previous workarounds, and replaced
251           g_io_add_watch() with sock_add_watch().
252
253 2003-07-01
254
255         * src/socket.[ch]: added sock_has_pending_data() which returns TRUE
256           if socket has pending data.
257         * src/session.c: session_recv_msg(), session_recv_data(): check if
258           socket has pending data and call the callbacks immediately in that
259           case (fixes the hang at ESMTP EHLO on SSL).
260
261 2003-06-30
262
263         * src/socket.c: check return value in SSL functions.
264
265 2003-06-30
266
267         * src/mimeview.c: mimeview_init(): initialize TextView to prevent
268           slowdown caused by GTK+ themes (thanks to Yuri Arapov).
269
270 2003-06-27
271
272         * src/session.c: session_read_data_cb(): clear Session::read_data_buf
273           before calling callbacks.
274
275 2003-06-26
276
277         * src/socket.c: made socket connection protocol independent.
278         * src/session.c: removed debug g_print().
279         * src/inc.c: made status bar output less verbose, and show counter
280           on main window's progressbar.
281
282 2003-06-26
283
284         * src/session.c: added missing #include <errno.h>.
285
286 2003-06-25
287
288         * src/session.[ch]: reimplemented the Session system with non-blocking
289           I/O to solve the performance and the code design issue.
290         * src/socket.[ch]: added sock_connect_async() and
291           sock_connect_async_cancel() to enable asynchronous connection.
292           sock_peek(): modified the implementation.
293         * src/pop.c: optimized the receiving of the responses of
294           UIDL/LIST/RETR.
295
296 2003-06-18
297
298         * src/procmsg.c: procmsg_get_thread_tree(): prevent threading problems
299           when a node is an ancestor (parent / great parent), which mostly
300           happens with circular references (thanks to Phillipe Gramoulle
301           for finding an sample set of messages, and Alfons for the patch).
302
303 2003-06-16
304
305         * src/pop3.c: pop3_get_uidl_table(): return empty hash table even if
306           UIDL list is not found (fixes inability of initial retrieval).
307
308 2003-06-10
309
310         * src/main.c: added the option '--status-full' which shows the status
311           of each folder specified. The option '--status' also takes
312           following arguments for folders (thanks to Yuri Arapov).
313         * src/folder.[ch]: folder_get_status(): new. it takes the array of
314           folders as the argument and returns their status.
315           folder_count_total_msgs(): removed.
316
317 2003-06-06
318
319         * version 0.9.2
320
321 2003-06-06
322
323         * src/filesel.c
324           src/foldersel.c
325           src/inputdialog.c: use gtk_main_iteration() instead of gtk_main()
326           to prevent abort when a button is double-clicked.
327
328 2003-06-02
329
330         * src/addr_compl.c: invalidate_address_completion(): check if
331           g_completion_list is NULL (thanks to Kazuhiro NISHIYAMA).
332
333 2003-06-02
334
335         * src/pop.c: pop3_session_recv_data_finished(): fixed a bug that
336           deleted messages that is to be kept on server (thanks to Tristan
337           Wallis).
338
339 2003-05-27
340
341         * version 0.9.1
342
343 2003-05-26
344
345         * src/socket.[ch]:
346           sock_set_io_timeout(): new. It sets the timeout interval.
347           sock_gdk_input_add(): removed since it's not used anymore.
348         * src/prefs_common.[ch]: added an option to set the timeout parameter.
349
350 2003-05-26
351
352         * src/action.c: fixed a bug that didn't hide user string in
353           create_io_dialog() (thanks to Markus Amersdorfer).
354           Removed ChildInfo::type and added Children::action_type.
355
356 2003-05-23
357
358         * src/inc.c: inc_start(): ask every password before retrieving.
359           Don't popup the redundant error dialog.
360           inc_account_mail()
361           inc_all_account_mail()
362           inc_progress_dialog_set_list(): separated account list display
363           into a new function.
364           inc_progress_dialog_set_label()
365           inc_recv_data_finished()
366           inc_recv_message(): properly update the dialog when RETR finished.
367
368 2003-05-22
369
370         * src/imap.c:
371           imap_modified_utf7_to_locale()
372           imap_locale_to_modified_utf7(): fixed compilation failure when not
373           using iconv().
374
375 2003-05-21
376
377         * src/procmime.c: procmime_scan_multipart_message(): fixed parsing
378           of message/rfc822 parts.
379
380 2003-05-21
381
382         * src/pop.c: pop3_ok(): detect timeout error.
383
384 2003-05-20
385
386         * src/imap.c: imap_locale_to_modified_utf7(): fixed the encoding bug
387           when locale strings include '+'.
388           imap_modified_utf7_to_locale()
389           imap_locale_to_modified_utf7(): at least escape/unescape '&' even
390           if iconv() is not supported.
391
392 2003-05-20
393
394         * src/compose.c:
395           compose_insert_sig()
396           compose_get_signature_str(): include separator in signature string.
397           Don't insert separator if signature file is not found.
398           Disabled use of implicit default signature path (~/.signature) when
399           sig_path is NULL.
400
401
402 2003-05-20
403
404         * src/codeconv.c
405           src/gtkshruler.c
406           src/news.c
407           src/procmsg.c
408           src/quote_fmt_parse.y
409           src/smtp.c: suppress warnings that gcc-3.3 issues.
410           src/stringtable.c: use string_entry_free().
411
412 2003-05-19
413
414         * src/compose.c: compose_insert_sig(): fixed the bug that always
415           appended signature separator if signature file was not found.
416           compose_get_signature_str(): fixed the bug that caused crash if
417           signature file cannot be opened.
418
419 2003-05-16
420
421         * version 0.9.0
422
423 2003-05-16
424
425         * src/session.c: session_recv_msg(): removed debug print.
426
427 2003-05-15
428
429         * src/imap.c:
430           imap_parse_atom()
431           imap_get_header()
432           imap_cmd_fetch(): check for data size that servers return (fixes
433           vulnerability found in BugTraq).
434
435 2003-05-14
436
437         * src/addr_compl.c: get_complete_address()
438           src/addressbook.c: addressbook_format_address()
439           src/compose.c: QUOTE_IF_REQUIRED(): quote if name contains
440           characters that is not defined in atext (RFC 2822, 3.2.4. Atom).
441         * src/main.c: main(): set colormap and visual to solve color problem
442           in Solaris (thanks to Markus Schwarzenberg).
443
444 2003-05-12
445
446         * version 0.9.0pre1
447
448 2003-05-12
449
450         * src/prefs_account.c: temporarily removed POP before SMTP option.
451
452 2003-05-09
453
454         * src/prefs_common.[ch]: changed the description of "Open message when
455           cursor keys are pressed on summary".
456         * src/summaryview.c: summary_show(): open message when always_show_msg
457           is TRUE.
458
459 2003-05-09
460
461         * src/logwindow.[ch]: restrict the maximum lines of the log messages
462           to reduce the memory usage.
463
464 2003-05-07
465
466         * src/compose.c: compose_insert_sig(): fixed a crash when signature
467           string contains illegal sequence.
468         * src/utils.[ch]: changed get_wcs_len() to get_mbs_len() for accuracy.
469
470 2003-05-07
471
472         * major refactoring of MIME structure.
473         * src/procmime.c: procmime_scan_message(): decrypt message if
474           gpgme is enabled. Create multipart tree only if content-type is
475           multipart/* or message/rfc822.
476           procmime_scan_multipart_message(): fixed the scanning of
477           message/rfc822 part.
478         * src/action.c: parse_append_msgpart()
479           src/messageview.c: messageview_show()
480           src/mimeview.c: mimeview_show_message(): use procmime_scan_message()
481           instead of procmsg_open_message() and procmime_scan_mime_header().
482           mimeview_set_multipart_tree(): conform to the new MIME structure.
483         * src/textview.c: textview_show_part(): removed unnecessary check.
484         * src/procmsg.c: procmsg_open_message_decrypted(): fixed the file
485           pointer when decryption failed.
486
487 2003-05-06
488
489         * src/ssl.c: ssl_init_socket_with_method(): replaced log_warning()
490           by g_warning(), and log_print() by debug_print().
491         * src/pop.[ch]: added an error code PS_NOTSUPPORTED, and retry with
492           LAST if UIDL is not supported.
493
494 2003-05-01
495
496         * src/codeconv.c: conv_get_code_conv_func(): convert to EUC-JP only
497           if it is the current locale encoding when dest_charset_str is NULL.
498
499 2003-05-01
500
501         * src/action.c: execute_actions(): fixed crash when no text widget
502           is selected (thanks to Paul and Melvin).
503         * src/action.c
504           src/prefs_actions.c: added missing reference to Claws team in the
505           copyright.
506
507 2003-04-28
508
509         * src/session.c:
510           session_send_msg()
511           session_send_data(): fixed a memory leak and data sending bug.
512         * src/send_message.c:
513           send_message_smtp(): fixed focus management.
514
515 2003-04-25
516
517         * src/smtp.[ch]: set the response string to SMTPSession::error_msg
518           if error occurred.
519         * src/send_message.c: show error dialog if error occurred.
520         * src/main.c: send_queue()
521           src/mainwindow.c: send_queue_cb(): don't show error dialog here.
522
523 2003-04-25
524
525         * src/session.c: session_close(): kill child process only if
526           state is not SESSION_DISCONNECTED.
527         * src/send_message.c: send_cancel_button_cb()
528           src/inc.c: inc_cancel(): don't set Session::state to
529           SESSION_DISCONNECTED.
530         * src/prefs.[ch]: modified the names of prefs_write_*().
531         * src/address.[ch]: removed.
532
533 2003-04-24
534
535         * src/compose.c: compose_template_apply(): overwrite recipients.
536
537 2003-04-23
538
539         * src/procheader.c: procheader_date_parse(): removed debug print.
540         * src/session.c: changed every g_print to debug_print.
541           session_child_input(): removed unrequired session_close() (it'll
542           be closed anyway after returning FALSE).
543         * src/send_message.c: send_message_smtp(): changed g_print to
544           debug_print.
545
546 2003-04-23
547
548         * src/procheader.c: procheader_procheader_date_parse(): don't add
549           local timezone offset if timezone is unknown.
550           Made the Y2K workaround code to follow RFC 2822.
551           procheader_scan_date_string(): workaround for date strings which
552           don't have timezone specification.
553         * src/utils.c: remote_tzoffset_sec(): return -1 if timezone is
554           unknown.
555
556 2003-04-22
557
558         * src/action.[ch]: refactored. Also fixed a bug on MIME mode, and
559           some memory leaks on error.
560           action_update_msgview_menu(): new.
561         * src/messageview.[ch]: added "Tools/Actions" menu. Keep window list.
562           messageview_get_selected_mime_part(): returns MimeInfo of selected
563           part when MessageView is in MIME mode.
564         * src/mimeview.[ch]: mimeview_get_selected_part(): returns MimeInfo
565           of selected part.
566         * src/summaryview.[ch]: summary_get_selected_msg_list(): returns
567           MsgInfo list of selected messages.
568
569 2003-04-21
570
571         * src/prefs_filter.[ch]: include original message's headers as
572           the preset keywords. Modified the sizes of the widgets.
573         * src/utils.[ch]: added str_case_equal() and str_case_hash() for
574           case-insensitive hash.
575
576 2003-04-18
577
578         * src/procmsg.c: procmsg_get_filter_keyword(): added X-Sequence to
579           auto-detected headers.
580         * src/action.[ch]
581           src/prefs_actions.c
582           src/compose.c
583           src/mainwindow.c: modified function names.
584           get_user_string(): Use input_dialog() instead of its own
585           implementation.
586
587 2003-04-17
588
589         * src/codeconv.[ch]: conv_encode_header(): don't include '(' and ')'
590           in encoded strings if addr_field is TRUE.
591         * src/compose.c: compose_convert_header(): added a flag 'addr_field'.
592
593 2003-04-16
594
595         * src/prefs_actions.[ch]: separated action execution routine into
596           action.[ch].
597
598 2003-04-16
599
600         * src/prefs_actions.c: minor code cleanup.
601
602 2003-04-16
603
604         * src/codeconv.[ch]: conv_iconv_strdup(): fixed the handling of
605           EILSEQ.
606
607 2003-04-16
608
609         * src/inc.c:
610           inc_recv_data_progressive()
611           inc_recv_data_finished()
612           inc_recv_message()
613           send_recv_message()
614           send_send_data_progressive()
615           send_send_data_finished(): added assertion.
616
617 2003-04-16
618
619         * src/codeconv.[ch]: conv_iconv_strdup(): fixed potential memory
620           corruption bug.
621
622 2003-04-16
623
624         * src/codeconv.[ch]: conv_iconv_strdup(): don't include nul character
625           in source buffer since it messed up some encoding conversion (like
626           UTF-7).
627
628 2003-04-15
629
630         * src/procmsg.c: procmsg_get_filter_keyword(): unfold headers and
631           extract ID from List-Id header.
632         * src/utils.[ch]: extract_one_parenthesis_with_skip_quote(): removed.
633           extract_list_id_str(): extract ID string from List-Id header.
634
635 2003-04-15
636
637         * src/prefs_actions.c: merged from the claws branch. Fixes several
638           bugs and adds some features.
639
640 2003-04-14
641
642         * src/compose.c: compose_parse_header(): fixed a bug that unnecessary
643           linebreaks were included on reediting.
644         * src/imap.c
645           src/pop.c: fixed typos: 'occured'.
646
647 2003-04-11
648
649         * src/compose.[ch]: implemented auto signature replacement on
650           changing accounts.
651           compose_insert_sig(): added a flag to replace current signature.
652           compose_get_signature_str(): new. It returns signature string.
653           compose_insert_command_output(): removed.
654           compose_select_account(): call compose_insert_sig() on account
655           change.
656           compose_destroy(): fixed a memory leak of UndoMain object.
657           Compose::sig_str: new. It stores current signature string.
658         * src/gtkutils.[ch]: gtkut_stext_find(): new.
659           Renamed gtk_stext_clear() to gtkut_stext_clear().
660         * src/utils.[ch]: get_wcs_len(): returns wide-character length of
661           multibyte string.
662           normalize_newlines(): converts CR+LF and CR into LF.
663           get_command_output(): returns command output.
664
665 2003-04-08
666
667         * src/procmsg.[ch]: procmsg_get_filter_keyword(): new. It returns
668           filter keyword for messages.
669         * src/summaryview.c: summary_filter_open(): use
670           procmsg_get_filter_keyword().
671         * src/messageview.c: create_filter_cb(): implemented.
672
673 2003-04-07
674
675         * src/inc.c:
676           inc_start()
677           inc_put_error(): display server responses on error.
678         * src/pop.[ch]: added Pop3Session::error_msg, and set server responses
679           on error.
680
681 2003-04-04
682
683         * src/messageview.[ch]: separated the forced charset of message view
684           in separate window from the main window.
685           src/textview.c:
686           textview_show_message()
687           textview_show_part()
688           textview_add_part(): use MessageView::forced_charset if specified.
689
690 2003-04-03
691
692         * src/mainwindow.c: modified File menu a bit.
693         * src/menu.[ch]: added functions to handle item factory rc strings.
694         * src/messageview.[ch]: added a menu, and made it take over main
695           window's menu shortcuts.
696           added msginfo which is duplicated on display to MessageView.
697         * src/prefs_common.c: prefs_keybind_apply_clicked(): use
698           menu_factory_clear_rc().
699
700 2003-03-28
701
702         * send_message.c: send_message_smtp():
703           re-enabled forcing of SMTP AUTH method.
704           Clear temporary password if authentication failed.
705         * smtp.c: output warning to log and set SMTPSession::error_val
706           if error occurs.
707         * smtp.h: changed error value to enum. Added SMTPSession::error_val.
708         * src/mbox.c: proc_mbox(): force updating of folder.
709
710 2003-03-28
711
712         * src/pop.h: changed error value to enum.
713         * src/pop.c: pop3_retr_recv(): return PS_IOERR when inc_drop_message()
714           failed.
715           pop3_ok(): return appropriate error value based on current state.
716           Output warning to log if error occurs.
717
718 2003-03-27
719
720         * src/nntp.[ch]
721           src/news.[ch]: refactored. Remove NNTPSockInfo and use NNTPSession
722           in nntp.c.
723
724 2003-03-27
725
726         * src/inc.c: inc_pop3_session_do(): retrun appropriate error if
727           Session::state == SESSION_ERROR.
728         * po/POTFILES.in: removed src/automaton.c and src/send.c.
729           Added src/send_message.c.
730
731 2003-03-26
732
733         * src/pop.[ch]
734           src/session.c: fixed breakage of POP3 retrieval.
735           session_recv_data_from_sock_unescape(): read until terminator
736           appears and also return the actual size.
737
738 2003-03-25
739
740         * src/automaton.[ch]: removed.
741         * src/session.c: removed some of the debug output.
742         * src/smtp.c: smtp_session_recv_msg(): workaround in case server
743           returns EHLO-style response to HELO command.
744           Ignore all multiline responses except for EHLO since they are
745           allowed for any command.
746
747 2003-03-25
748
749         * src/session.[ch]
750           src/pop.c: fixed retrieval of messages which contain dot-escaped
751           lines.
752           session_recv_data(): added a flag for unescape.
753           session_recv_data_from_sock_unescape(): new. It receives message
754           for each line and unescapes dot-escaped lines.
755           Removed the previous workaround.
756         * src/defs.h: decreased UI_REFRESH_INTERVAL to 40 msec.
757
758 2003-03-25
759
760         * src/pop.[ch]: workaround for brekage of retrieval when given size
761           and actual one is different.
762
763 2003-03-24
764
765         * src/pop.c: pop3_retr_eom_recv(): ignore invalid end of message
766           since some servers sometimes return incorrect message size.
767         * src/news.c: news_session_new(): zero clear NNTPSession object.
768           Don't initialize Session::sock with nntp_sock->sock to prevent
769           double-free of SockInfo.
770         * src/imap.c: zero clear IMAPSession object.
771           imap_cmd_append(): don't close SockInfo.
772
773 2003-03-22
774
775         * src/pop.c: pop3_session_recv_msg(): fixed STLS.
776
777 2003-03-22
778
779         * src/inc.[ch]
780           src/pop.[ch]: reimplemented using new I/O system.
781         * src/session.[ch]: session_recv_data(): new.
782           session_send_data_to_sock()
783           session_recv_data_from_sock(): decreased the frequency of progress
784           notification.
785
786 2003-03-22
787
788         * src/smtp.c: smtp_auth_recv(): fixed CRAM-MD5 authentication.
789
790 2003-03-20
791
792         * src/session.[ch]: session_start_tls(): new.
793           session_recv_msg(): made it static.
794
795 2003-03-20
796
797         * implemented asynchronous network I/O.
798         * src/session.[ch]: the interface to communicate with servers through
799           child process.
800         * src/smtp.[ch]
801           src/send_message.[ch]: rewrote using new I/O system.
802         * src/socket.[ch]: renamed *_write() to *_write_all(), and made
803           *_write() as just a simple wrapper for write().
804         * src/utils.c: get_outgoing_rfc2822_str(): new. It modifies the
805           message to send with SMTP or NNTP.
806           file_read_stream_to_str(): new.
807
808 2003-03-12
809
810         * src/textview.c: textview_button_pressed(): corrected the range of
811           URI link.
812         * src/compose.c: compose_wrap_line_all_full(): treat UTF-8 characters
813           represented with more than 2 bytes as 2 character width and 2 bytes
814           one as a single character width as a workaround for wrapping problem.
815
816 2003-03-12
817
818         * src/utils.c: subject_compare_for_sort(): allow null strings (fixes
819           summary sorting).
820
821 2003-03-11
822
823         * implemented HTML link correctly.
824         * src/html.[ch]: HTMLAttr, HTMLTag: new structure for attributes /
825           tags.
826           html_get_tag(): new. It parses tag and returns HTMLTag object.
827           html_parse_tag(): also parses <a> tags and 'href' attributes.
828         * src/textview.c: textview_write_link(): new. It creates link string.
829
830 2003-03-10
831
832         * src/compose.c: compose_wrap_line_all_full(): fixed an infinite
833           loop / crash bug (thanks to Darko Koruga).
834           compose_write_to_file(): put correct charset element when
835           conversion failed but want to send anyway.
836
837 2003-03-10
838
839         * src/headerview.c: headerview_show()
840           src/textview.c: textview_write_line(): remove unreadable characters
841           from displayed strings to prevent crashes on multi-byte
842           environments.
843         * src/codeconv.[ch]: conv_unreadable_locale(): new. It was separated
844           from conv_localetodisp().
845
846 2003-03-10
847
848         * src/procmsg.c: procmsg_cmp_by_subject()
849           src/summaryview.c: summary_cmp_by_subject(): ignore Re: when
850           comparing subjects.
851         * src/utils.[ch]:
852           subject_compare_for_sort()
853           trim_subject_for_sort(): new.
854
855 2003-03-07
856
857         * version 0.8.11
858
859 2003-03-07
860
861         * src/defs.h: added -i option to the default sendmail command.
862
863 2003-03-06
864
865         * src/codeconv.[ch]: added missing character encodings and locales.
866
867 2003-03-06
868
869         * src/procmsg.[ch]:
870           procmsg_get_mark_sum()
871           procmsg_open_mark_file()
872           procmsg_read_mark_file(): take FolderItem instead of directory
873           path.
874
875 2003-03-05
876
877         * src/codeconv.c: conv_encode_header(): fixed a bug that spaces
878           which is on the wrap boundary would be lost when encoding long
879           non-ascii strings (thanks to Sergey Vlasov).
880           Don't force wrapping within a long word until it reaches hard line
881           length limit (998 characters) (workaround for the breakage of
882           long address list with no spaces).
883
884 2003-03-03
885
886         * src/prefs_account.c: fixed compile failure when using neither
887           gpg or ssl.
888
889 2003-03-03
890
891         * src/codeconv.c: fixed UTF-8 locale support.
892           conv_get_code_conv_func(): return conv_noconv if locale encoding
893           is UTF-8. Return conv_latintodisp on ISO-8859-* to locale encoding
894           conversion.
895           conv_convert(): call conv_iconv_strdup() instead of
896           conv_codeset_strdup().
897           conv_codeset_strdup(): moved some codes into conv_iconv_strdup().
898
899 2003-02-28
900
901         * src/prefs_account.[ch]: added an option to use command output for
902           signature.
903         * src/compose.c: compose_insert_sig(): use command output if
904           specified.
905           compose_insert_command_output(): new.
906
907 2003-02-28
908
909         * src/main.c: main(): remove lock socket if sylpheed is not running
910           when --status command is executed.
911           lock_socket_remove(): new.
912
913 2003-02-27
914
915         * src/codeconv.c: conv_codeset_strdup(): don't convert if current
916           codeset is US-ASCII (or POSIX).
917
918 2003-02-21
919
920         * src/codeconv.c: conv_iconv_strdup(): try to skip invalid characters
921           and continue conversion.
922
923 2003-02-21
924
925         * src/summaryview.c: summary_selected(): always update widget
926           sensitivity.
927
928 2003-02-20
929
930         * src/utils.c: tzoffset_sec(): fixed a bug that displayed wrong
931           date in timezones more than GMT+12 or less than GMT-12.
932
933 2003-02-18
934
935         * src/prefs_common.[ch]
936           src/sourcewindow.c: remember the size of source window.
937         * src/md5.c: fixed a compile problem with gcc 3.3.
938
939 2003-02-17
940
941         * src/about.c: about_create(): modified the copyright notice.
942
943 2003-02-17
944
945         * src/colorlabel.c: don't use pixmaps for label color rect but draw
946           rectangles so we can respect the color map of palette based visuals
947           (fixes the long time crashes on Solaris - thanks to Alfons
948           Hoogervorst).
949
950 2003-02-17
951
952         * src/procheader.c: procheader_date_parse(): made month string case
953           insensitive.
954         * src/prefs_filter.c: prefs_filter_close(): fixed the crash when the
955           selection list is empty.
956
957 2003-02-14
958
959         * src/quote_fmt_parse.y: removed gettext translatable strings.
960         * src/unmime.c: unmime_header(): remove broken characters when
961           code conversion failed.
962         * src/codeconv.c: conv_encode_header(): fixed a bug that broken
963           headers if long words more than 75 characters are entered.
964
965 2003-02-13
966
967         * src/prefs_account.c: prefs_account_receive_create()
968           src/utils.c: to_human_readable(): made units translatable.
969
970 2003-02-13
971
972         * src/codeconv.c: isprintableeuckanji(): don't allow more than 0xf4
973           at first byte (fixes abort() problem of glibc).
974         * src/html.c: html_read_line(): remove characters which can't be
975           displayed on the current locale.
976
977 2003-02-11
978
979         * src/utils.[ch]:
980           trim_subject_for_compare(): renamed from trim_subject().
981           trim_subject(): new. It removes [...] or (...) at the beginning
982           of subject.
983         * src/prefs_folder_item.c
984           src/folder.[ch]:
985           added options for trimming summary / compose subject.
986         * src/summaryview.c: summary_set_header(): trim subject if the folder
987           option is set.
988         * src/compose.c: compose_reply_set_entry(): trim subject if the folder
989           option is set.
990
991 2003-02-09
992
993         * src/codeconv.c:
994           LBREAK_IF_REQUIRED(): don't break lines before first word (fixes
995           X-Face header problem).
996           conv_encode_header(): allow up to 97 characters for one word.
997
998 2003-02-07
999
1000         * src/filter.c: filter_match_condition(): fixed the bug that
1001           second condition ignored regex.
1002         * src/news.h: NewsGroupInfo: use guint for message numbers
1003           (fix count in grouplist dialog) (thanks to Thorsten Maerz).
1004
1005 2003-02-06
1006
1007         * src/codeconv.c: conv_encode_header(): fixed a segfault bug
1008           on code conversion failure.
1009           conv_get_charset_str()
1010           conv_get_charset_from_str(): optimized using hash table.
1011
1012 2003-02-06
1013
1014         * src/quote_fmt_parse.y:
1015           SHOW_MESSAGE_NO_SIGNATURE, SHOW_QUOTED_MESSAGE_NO_SIGNATURE:
1016           treat only "\n-- \n" as a signature separator.
1017
1018 2003-02-05
1019
1020         * src/gtkutils.[ch]: gtkut_ctree_node_prev(): new.
1021         * src/summary_search.c: summary_search_execute(): search collapsed
1022           nodes, too.
1023
1024 2003-02-05
1025
1026         * src/codeconv.c:
1027           conv_unreadable_latin(): include 0x7f as an unreadable character.
1028           conv_localetodisp(): don't remove 8bit characters by default.
1029           conv_get_current_charset()
1030           conv_get_outgoing_charset(): return ISO-8859-15 if "@euro" is
1031           appended at the last of locale name.
1032         * src/compose.c: compose_write_to_file(): show from and to encoding
1033           when code conversion failed.
1034
1035 2003-02-04
1036
1037         * version 0.8.10
1038
1039 2003-02-04
1040
1041         * src/procmsg.h: WRITE_CACHE_DATA(): little speed improvement
1042           (thanks to Colin Leroy).
1043         * src/mh.c: mh_get_msginfo(): added NULL check (thanks to Thorsten
1044           Maerz).
1045
1046 2003-02-03
1047
1048         * src/textview.c: textview_write_line(): don't convert if conv is
1049           NULL.
1050
1051 2003-02-03
1052
1053         * src/codeconv.[ch]:
1054           renamed conv_guess_encoding() to conv_guess_ja_encoding().
1055           conv_localetodisp(): new. It removes unreadable characters from
1056           (assumed) current locale string.
1057           conv_codeset_strdup(): convert into ISO-8859-1 if dest_code is
1058           NULL and current locale encoding is US-ASCII.
1059           conv_get_code_conv_func(): return conv_ustodisp if US-ASCII is
1060           specified for destination charset.
1061         * src/textview.c: textview_write_line(): use conv_localetodisp()
1062           instead of strncpy2() if conversion failed.
1063
1064 2003-01-31
1065
1066         * src/codeconv.c: conv_iconv_strdup()
1067           src/imap.c:
1068           imap_modified_utf7_to_locale()
1069           imap_locale_to_modified_utf7(): use ICONV_CONST macro to remove
1070           a warning on some systems.
1071         * src/codeconv.c: conv_iconv_strdup(): flush iconv() output and
1072           truncate buffer.
1073           Return NULL instead of incomplete string if conversion failed.
1074
1075 2003-01-30
1076
1077         * src/summaryview.c: summary_execute(): select appropriate node
1078           if currently selected node is to be deleted.
1079         * src/gtkutils.[ch]: gtkut_ctree_node_is_selected(): new. Returns
1080           TRUE if the specified node is selected.
1081
1082 2003-01-30
1083
1084         * src/summaryview.c: summary_status_show(): fixed a occasional crash
1085           on deleting or moving.
1086
1087 2003-01-29
1088
1089         * src/codeconv.c: conv_unreadable_eucjp(): made the validity check
1090           of EUC-JP more accurate.
1091           isprintableeuckanji(): new. Use table for validity check of EUC-JP.
1092
1093 2003-01-17
1094
1095         * version 0.8.9
1096
1097 2003-01-17
1098
1099         * updated INSTALL.
1100
1101 2003-01-17
1102
1103         * src/quoted-printable.c: qp_encode_line(): fixed linebreak
1104           duplication bug if the source string has CRLF.
1105         * src/utils.[ch]:
1106           canonicalize_str(): new. Returns newly allocated canonicalized
1107           string.
1108           uncanonicalize_file(): new. Uncanonicalize (CRLF -> LF) text.
1109           uncanonicalize_file_replace(): new.
1110         * src/compose.c: always canonicalize body before processing, and
1111           uncanonicalize before returning.
1112
1113 2003-01-17
1114
1115         * src/procmime.c: procmime_get_encoding_for_charset(): prefer
1116           ENC_8BIT for Russian charsets.
1117         * src/compose.c: compose_write_to_file(): use base64 when signing
1118           8bit message.
1119
1120 2003-01-16
1121
1122         * src/prefs_common.c: prefs_send_create(): added a description for
1123           the setting of Content-Transfer-Encoding.
1124
1125 2003-01-16
1126
1127         * src/codeconv.c: fixed locale_table for Russian locales (thanks to
1128           Sergey Vlasov).
1129         * src/procmime.c: procmime_get_encoding_for_charset(): return
1130           ENC_BASE64 for ISO-8859-5, KOI8-* and Windows-1251.
1131         * src/compose.c: compose_attach_append(): set correct Content-
1132           Transfer-Encoding for message/rfc822.
1133           compose_write_to_file(): enabled user-definable Content-Transfer-
1134           Encoding.
1135         * src/prefs_common.[ch]: added an option for user-defined Content-
1136           Transfer-Encoding.
1137
1138 2003-01-15
1139
1140         * src/quoted-printable.[ch]: qp_encode_line(): fixed a bug if the
1141           line doesn't end with linebreak.
1142
1143 2003-01-15
1144
1145         * implemented quoted-printable encoding.
1146         * src/quoted-printable.[ch]: qp_encode_line(): new.
1147         * src/compose.c:
1148           compose_write_to_file()
1149           compose_write_attach(): implemented quoted-printable encoding.
1150           compose_attach_property_create(): enabled quoted-printable menu
1151           item.
1152         * src/procmime.c: procmime_get_encoding_for_charset(): return
1153           ENC_QUOTED_PRINTABLE for ISO-8859-* and CP125* charset.
1154         * src/Makefile.am: added $(LIBICONV) to sylpheed_LDADD for libiconv
1155           support.
1156
1157 2003-01-14
1158
1159         * src/folderview.c
1160           src/summaryview.c
1161           src/utils.[ch]: get_abbrev_newsgroup_name(): improved the way
1162           of abbreviation of newsgroup name.
1163
1164 2003-01-14
1165
1166         * configure.in: show the result of iconv detection.
1167
1168 2003-01-13
1169
1170         * src/codeconv.[ch]: made the transition from libjconv to iconv().
1171           conv_iconv_strdup(): new.
1172         * src/about.c
1173           src/imap.c
1174           src/mainwindow.c
1175           src/prefs_common.c: replaced HAVE_LIBJCONV to HAVE_ICONV.
1176
1177 2003-01-10
1178
1179         * src/compose.c
1180           src/folderview.c
1181           src/prefs_folder_item.c: English fix (property -> properties).
1182         * src/prefs_filter.c: alert if entry is not saved.
1183           prefs_filter_dialog_to_filter(): new.
1184
1185 2003-01-09
1186
1187         * src/codeconv.c: conv_encode_header(): fixed a bug which output raw
1188           strings after linefeed.
1189         * updated INSTALL.
1190
1191 2003-01-08
1192
1193         * src/codeconv.[ch]: code cleanup and optimization.
1194           conv_code_converter_new()
1195           conv_convert(): use functions obtained by conv_get_code_conv_func()
1196           when using libjconv.
1197           conv_codeset_strdup(): code cleanup.
1198           conv_get_code_conv_func(): added an argument for destination
1199           character set, and generalized.
1200
1201 2003-01-06
1202
1203         * src/codeconv.c: LBREAK_IF_REQUIRED(): break line only if some
1204           characters follow.
1205         * src/compose.c: compose_convert_header(): remove trailing spaces.
1206         * src/customheader.c: custom_header_read_str(): strip the spaces
1207           of name and value.
1208         * src/prefs_customheader.c: prefs_custom_header_clist_set_row():
1209           strip the spaces of name and value.
1210
1211 2002-12-25
1212
1213         * version 0.8.8
1214
1215 2002-12-25
1216
1217         * src/codeconv.c: conv_encode_header(): fixed a bug which will run
1218           into infinite loop when encountering invalid characters.
1219
1220 2002-12-25
1221
1222         * src/procmsg.[ch]: procmsg_sort_msg_list(): new. It sorts message
1223           list.
1224         * src/summaryview.c: summary_show(): removed summary_sort() because
1225           it is done inside folder_item_get_msg_list(). This will improve
1226           the performance of summary display.
1227           Sorted out the summary sort functions using macros.
1228         * src/mh.c
1229           src/imap.c
1230           src/news.c
1231           src/folder.[ch]: folder_item_get_msg_list(): return pre-sorted
1232           list if FolderItem::sort_key is set.
1233           Added SORT_BY_TO to FolderSortKey enum.
1234         * src/mainwindow.c: added "View/Sort/by recipient".
1235
1236 2002-12-20
1237
1238         * version 0.8.7
1239
1240 2002-12-20
1241
1242         * src/codeconv.c: conv_encode_header(): fix for redundant space on
1243           line-breaking.
1244         * src/compose.c: compose_convert_header(): always pass string to
1245           conv_encode_header() for line-breaking.
1246
1247 2002-12-20
1248
1249         * src/textview.c: textview_make_clickable_parts(): fixed incorrect
1250           parsing of email addresses.
1251
1252 2002-12-19
1253
1254         * src/defs.h: added DEFAULT_BROWSER_CMD.
1255         * src/mimeview.c: mimeview_view_file()
1256           src/prefs_common.c: prefs_other_create()
1257           src/utils.c: open_uri(): changed the default web browser to
1258           mozilla, and changed 'raise' command (which is undocumented)
1259           to 'new-window' in 'netscape -remote'.
1260
1261 2002-12-19
1262
1263         * src/compose.c: compose_send_control_enter(): fixed crash on
1264           Ctrl-Enter when Message/Send has no accelerator key (thanks to
1265           Sergey Vlasov).
1266
1267 2002-12-18
1268
1269         * src/mainwindow.c:
1270           set_charset_cb()
1271           sort_summary_cb()
1272           sort_summary_type_cb(): prevent unwanted processing on unchecking
1273           menu items.
1274
1275 2002-12-18
1276
1277         * src/main.c: process command line option before gtk_init() to
1278           enable remote operation without X (thanks to Ruslan N. Balkin).
1279         * src/codeconv.c: conv_encode_header(): fixed a potential buffer
1280           overflow.
1281
1282 2002-12-18
1283
1284         * src/Makefile.am: changed $(target_alias) to $(target_triplet)
1285           (the spec of autotools seems to be changed).
1286
1287 2002-12-18
1288
1289         * src/imap.c: get path separator using LIST command if server
1290           doesn't support NAMESPACE (based on the patch by Brian Sammon).
1291           imap_parse_list(): added an argument to return path separator.
1292           imap_get_namespace_by_list(): new.
1293
1294 2002-12-17
1295
1296         * src/addr_compl.c: add_address(): removed the debug print.
1297         * src/gtkutils.[ch]: gtkut_window_popup()
1298           src/mainwindow.c: main_window_popup(): applied the patch to fix
1299           the behavior of window popup from Sergey Vlasov (thanks!)
1300         * src/account.c: account_edit_create(): use signal_connect_after
1301           for row_move signal to fix the row position bug.
1302           account_row_moved(): scroll the CList half page.
1303         * src/prefs_filter.c: prefs_filter_row_move(): scroll the CList
1304           half page.
1305         * src/summaryview.c: summary_reply(): use selection text only if
1306           the displayed message is selected (thanks to Sergey Vlasov).
1307
1308 2002-12-13
1309
1310         * src/codeconv.c: conv_encode_header(): reimplemented the routine
1311           of MIME header encoding. And use Q-encoding method if the current
1312           locale is single-byte one.
1313         * src/utils.[ch]: is_next_nonascii(): take multi-byte string instead
1314           of wide-character string. Consider control codes as non-ASCII.
1315           get_next_word_len(): new. It returns the length of next word.
1316           is_next_mbs(), find_wspace(): removed.
1317         * src/quoted-printable.[ch]: new.
1318           qp_decode_line(): decodes one QP line.
1319           qp_decode_q_encoding(): decodes Q-encoded string in MIME header.
1320           qp_get_q_encoding_len(): returns the length when a string is
1321           Q-encoded.
1322           qp_q_encode(): Q-encode a string (RFC 2047).
1323         * src/unmime.c: moved the functions for quoted-printable to
1324           quoted-printable.c.
1325
1326 2002-12-05
1327
1328         * src/send.c: send_message_local(): escape line that only have one
1329           dot character (postfix's sendmail command will stop there).
1330
1331 2002-12-05
1332
1333         * src/send.c: send_message_local(): don't escape first-dot line
1334           (thanks to Sergey Vlasov).
1335
1336 2002-12-03
1337
1338         * autogen.sh: added 'libtoolize --force --copy' to override the
1339           current ltmain.sh.
1340         * acconfig.h: removed.
1341         * configure.in: increased minimal version of GPGME to 0.3.10.
1342           Fixed checking of XIM.
1343         * ac/check-type.m4
1344           ac/gnupg-check-typedef.m4: added an argument for comment.
1345
1346 2002-11-29
1347
1348         * src/imageview.[ch]: fixed conflicting declarations of
1349           imageview_show_image() (thanks to Thorsten Maerz).
1350
1351 2002-11-28
1352
1353         * src/compose.c: compose_entry_append(): don't add ", " on subject
1354           entry.
1355         * src/codeconv.c: conv_get_outgoing_charset(): obtain outgoing
1356           charset from the table (currently disabled for non-Japanese locales).
1357           conv_get_current_locale(): also refer to LC_CTYPE.
1358
1359 2002-11-27
1360
1361         * README: added a description about hidden settings.
1362
1363 2002-11-27
1364
1365         * src/prefs_common.[ch]: reorganized the common prefs dialog.
1366           Made enable_hscrollbar and bold_unread hidden options.
1367
1368 2002-11-26
1369
1370         * src/quote_fmt_parse.y: fixed a parse error (thanks to Andreas Hinz).
1371
1372 2002-11-26
1373
1374         * src/account.[ch]:
1375           account_find_from_message_file()
1376           account_find_from_msginfo(): new. They find an account from the
1377           headers like 'From:', 'X-Sylpheed-Account-Id:', and 'AID:' in the
1378           specified message.
1379         * src/compose.c:
1380           compose_reedit(): restore messages' previous account on composition.
1381           compose_write_headers(): add 'X-Sylpheed-Account-Id:' header
1382           on draft mode.
1383
1384 2002-11-26
1385
1386         * src/compose.c: cleaned up the code using compose_entry_set()
1387           (don't use gtk_entry_set_text() directly).
1388
1389 2002-11-25
1390
1391         * src/imap.c: imap_parse_namespace(): fixed a memory leak.
1392
1393 2002-11-22
1394
1395         * updated autotools and libtool to the latest version.
1396         * configure.in: added AC_PREREQ(2.50).
1397
1398 2002-11-22
1399
1400         * src/textview.c: textview_set_font(): fix for message display in
1401           UTF-8 locales (thanks to Sergey Vlasov).
1402
1403 2002-11-21
1404
1405         * src/imageview.[ch]: imageview_show_image(): resize images to fit
1406           the window size if specified.
1407         * src/prefs_common.[ch]: added an option 'Resize attached images'.
1408
1409 2002-11-20
1410
1411         * refactoring for SMTP implementation.
1412         * src/session.h: added ui_func to Session.
1413         * src/smtp.[ch]: separated the connection routine from
1414           smtp_session_new() to smtp_connect().
1415           Changed the argument of every function other than smtp_ok() from
1416           SockInfo to SMTPSession.
1417           Call UI callback from each functions.
1418         * src/send.c: send_message_smtp(): separated the code for UI update
1419           into send_progress_dialog_update().
1420
1421 2002-11-18
1422
1423         * src/smtp.[ch]: separated smtp_auth() from smtp_from().
1424         * src/send.c: send_message_smtp(): call smtp_auth() and display
1425           the state to the dialog.
1426
1427 2002-11-18
1428
1429         * src/filter.c: strmatch_regex(): use extended regex (thanks to
1430           Fabien Devaux).
1431         * src/main.c: main(): removed the code for assortrc -> filterrc
1432           transition.
1433         * src/gtkutils.c: gtkut_font_load(): only use gdk_font_load() if
1434           current locale is C or POSIX.
1435           gtkut_stext_is_uri_string(): include "www." for URI string.
1436         * src/textview.c: textview_make_clickable_parts(): include "www."
1437           for URI string.
1438
1439 2002-11-15
1440
1441         * version 0.8.6
1442
1443 2002-11-13
1444
1445         * src/textview.c: textview_add_part(): indicate signature status
1446           using different colors.
1447
1448 2002-11-12
1449
1450         * src/folder.c: folder_write_list_recursive(): escape
1451           To/Cc/Bcc/Reply-To strings.
1452
1453 2002-11-11
1454
1455         * src/codeconv.c: conv_encode_header(): enabled B-encoding of
1456           headers on locales other than Japanese when not using libjconv.
1457
1458 2002-11-11
1459
1460         * src/inc.[ch]: added INC_IO_ERROR to IncState. Also added its
1461           corresponding error message.
1462           inc_pop3_session_do(): set INC_IO_ERROR instead of INC_NOSPACE
1463           on PS_IOERR.
1464
1465 2002-11-07
1466
1467         * src/prefs_account.[ch]: removed prefs_account_save_config() since
1468           it is not used.
1469         * src/procmime.[ch]: removed procmime_mimeinfo_free() since
1470           procmime_mimeinfo_free_all() can be used in every case.
1471
1472 2002-11-06
1473
1474         * src/account.c: account_get_special_folder(): support F_INBOX, and
1475           made code cleanup.
1476
1477 2002-11-06
1478
1479         * src/compose.[ch]: ComposeEntryType: changed COMPOSE_* to
1480           COMPOSE_ENTRY_*, and added
1481           COMPOSE_ENTRY_{REPLY_TO,SUBJECT,FOLLOWUP_TO}.
1482           compose_reply()
1483           compose_forward()
1484           compose_redirect(): added FolderItem to the arguments, and reflect
1485           settings in the item.
1486           compose_entry_set(): new.
1487           compose_entry_append(): code cleanup.
1488           compose_entries_set_from_item(): take ComposeMode in its arguments,
1489           and enabled FolderItem::use_auto_to_on_reply.
1490         * src/summaryview.c: summary_reply(): pass folder_item to
1491           compose_{reply,forward,redirect}().
1492
1493 2002-11-05
1494
1495         * src/gtkutils.[ch]:
1496           gtkut_font_load(): new. It automatically choose font or fontset
1497           by current locale.
1498           gtkut_font_load_from_fontset(): new. It tries to load single font
1499           instead of fontset from a fontset string.
1500         * src/alertpanel.c
1501           src/folderview.c
1502           src/headerview.c
1503           src/summaryview.c: workaround for the problem that couldn't display
1504           8-bit characters in C or POSIX locale (use font instead of fontset).
1505         * src/compose.c
1506           src/sourcewindow.c
1507           src/textview.c: made code cleanup using gtkut_font_load*().
1508
1509 2002-10-29
1510
1511         * src/mh.c: mh_get_msginfo(): set correct message number.
1512
1513 2002-10-29
1514
1515         * src/folder.[ch]: added a new virtual method Folder::get_msginfo().
1516           It returns a new MsgInfo associated to a message number.
1517           folder_item_get_msginfo(): new.
1518         * src/imap.[ch]: imap_get_msginfo(): new.
1519         * src/mh.[ch]: mh_get_msginfo(): new.
1520         * src/news.[ch]: news_get_msginfo(): new.
1521
1522 2002-10-28
1523
1524         * src/codeconv.c: conv_euctojis(): fixed a bug which will cause
1525           infinite loop if an invalid code appeared.
1526
1527 2002-10-25
1528
1529         * src/codeconv.c: conv_codeset_strdup()
1530           src/html.[ch]: html_read_line(): don't output conversion failure
1531           warnings.
1532           Added HTML_CONV_FAILED to the enum HTMLState.
1533
1534 2002-10-24
1535
1536         * implemented per-folder auto-set address (still in progress).
1537         * src/compose.[ch]: compose_new(): added FolderItem to its arguments,
1538           and set entries from it (if mailto is empty).
1539           compose_entry_append(): activate menu if required.
1540           compose_entries_set_from_item(): new.
1541         * src/folder.[ch]: added auto_to, use_auto_to_on_reply, auto_cc,
1542           auto_bcc, and auto_replyto to FolderItem, and renamed apply_sub to
1543           ac_apply_sub.
1544           folder_build_tree(), folder_read_folder_func(),
1545           folder_write_list_recursive(): added the above members.
1546         * src/prefs_folder_item.[ch]: added auto-set addresses.
1547         * src/pop.[ch]: removed Pop3State::prev_folder.
1548
1549 2002-10-11
1550
1551         * src/compose.c: allow dropping files by also "moving" files from a
1552           file manager (thanks to Alfons).
1553
1554 2002-10-10
1555
1556         * compose_reply_set_entry(): made Reply-To have priority over
1557           List-Post on ML reply.
1558
1559 2002-10-09
1560
1561         * src/gtksctree.[ch]: gtk_sctree_set_anchor_row(): new.
1562         * src/summaryview.c: summary_step(): fixed a bug that lost the
1563           correct selection anchor.
1564           summary_key_pressed(): use gtk_sctree_select() instead of
1565           gtk_ctree_select().
1566         * src/inc.[ch]
1567           src/pop.c
1568           src/recv.c: differentiate disk full and socket errors
1569           (thanks to Colin Leroy).
1570
1571 2002-10-08
1572
1573         * src/account.c: account_edit_prefs(): removed unused variables.
1574         * src/compose.[ch]: separated WITH_QUOTE/WITHOUT_QUOTE flags in
1575           ComposeMode.
1576           compose_reply()
1577           compose_reply_set_entry(): receive reply type with one argument.
1578         * src/summaryview.c: summary_reply(): reduced conditional branches.
1579
1580 2002-10-08
1581
1582         * src/compose.c: compose_redirect(), compose_reedit(): strip CR
1583           from line ends (thanks to Sergey Vlasov).
1584         * src/folderview.c: renamed 'Rescan folder tree' to 'Rebuild
1585           folder tree'.
1586
1587 2002-10-08
1588
1589         * src/folder.[ch]: added a virtual method Folder::remove_msgs().
1590         * src/imap.[ch]: implemented imap_remove_msgs() which expunges
1591           messages all at once.
1592
1593 2002-10-07
1594
1595         * src/account.[ch]: account_open(): new. It opens account prefs
1596           dialog and reflects to UI when finished.
1597         * src/folderview.c:
1598           folderview_button_pressed()
1599           folderview_property_cb(): open account prefs dialog when the
1600           property of the root folder of remote account is requested.
1601
1602 2002-10-07
1603
1604         * src/account.c: account_destroy(): unref account information in
1605           folders.
1606         * src/folder.[ch]: folder_unref_account_all(): new. It unref the
1607           specified account information in all folders.
1608         * src/folderview.c:
1609           folderview_rm_imap_server_cb()
1610           folderview_rm_news_server_cb(): destroy Folder first because
1611           folder_destroy() refers to account information.
1612
1613 2002-10-04
1614
1615         * src/account.c: account_find_from_item(): fixed a bug which didn't
1616           select the correct account.
1617         * inc_pop3_session_do():
1618           fixed the resource leak when SSL initialization failed.
1619           Immediately break from temporary event loop if cancelled.
1620
1621 2002-10-04
1622
1623         * src/account.[ch]: account_find_from_item(): new.
1624         * src/compose.c:
1625           compose_reply(), compose_forward(), compose_redirect()
1626           src/mainwindow.c: compose_cb(): select optimal account when
1627           composing.
1628         * src/folder.[ch]: added FolderItem::apply_sub.
1629         * src/menu.[ch]: menu_find_option_menu_index(): new. It finds the
1630           index of option menu which contains the specified data.
1631         * src/prefs_folder_item(): added Compose tab, and the setting of
1632           folder account.
1633
1634 2002-10-04
1635
1636         * configure.in: added $LDAP_LIBS for lber library detection.
1637
1638 2002-10-03
1639
1640         * version 0.8.5
1641
1642 2002-10-03
1643
1644         * src/procmsg.c: procmsg_msginfo_get_full_info(): fixed a memory
1645           leak, and added error checking.
1646
1647 2002-10-03
1648
1649         * src/compose.[ch]: added a flag Compose::use_newsgroups, and
1650           removed Compose::orig_account.
1651           compose_check_for_valid_recipient(): check only enabled entries.
1652           compose_write_headers()
1653           compose_redirect_write_headers(): add Newsgroups header only
1654           when the entry is enabled.
1655           compose_send(): modified the method of finding a mail account
1656           from a news account so that it tries to match the From address.
1657         * src/send.c: send_message_queue(): enabled the queueing of news
1658           messages.
1659         * src/news.[ch]: news_post_stream(): new.
1660
1661 2002-10-03
1662
1663         * configure.in: check lber first and use $LDAP_LIBS on the check
1664           for ldap.
1665
1666 2002-10-02
1667
1668         * po/*.po: fixed many typos of format strings which will lead to
1669           crash (thanks to Sergey Vlasov).
1670
1671 2002-10-02
1672
1673         * src/procheader.c: procheader_parse_stream(): added Cc header
1674           to the target for full parsing.
1675         * src/procmsg.[ch]: procmsg_msginfo_get_full_info(): new. It
1676           returns the full message information from the given information.
1677         * src/compose.c: compose_reply(), compose_forward(): get full
1678           message information for Cc header.
1679
1680 2002-10-02
1681
1682         * src/inc.c: inc_account_mail(), inc_all_account_mail(): update
1683           IMAP4 and NNTP folder summary after checking those accounts.
1684
1685 2002-10-01
1686
1687         * version 0.8.4
1688
1689 2002-10-01
1690
1691         * src/prefs_common.c: prefs_compose_create(): modified the label
1692           of the option for Reply button.
1693         * configure.in: add -lldap and -llber to the 5th argument of
1694           AC_CHECK_LIB() for LDAP library detection.
1695
1696 2002-09-30
1697
1698         * INSTALL
1699           INSTALL.jp: updated.
1700
1701 2002-09-30
1702
1703         * src/mainwindow.c: toggle the behavior of Reply button between
1704           normal reply and reply-to-list.
1705         * src/prefs_common.[ch]: added an option to switch the function
1706           of Reply button.
1707
1708 2002-09-27
1709
1710         * src/compose.c: compose_new(): removed the workaround for XIM
1711           because it doesn't have any effect and only seems to cause
1712           hangs.
1713
1714 2002-09-26
1715
1716         * src/compose.[ch]: compose_reply(): added a flag for reply-to-ML.
1717           compose_parse_header(): parse also List-Post header.
1718           compose_reply_set_entry(): support reply-to-ML (fall back to
1719           normal reply if ML address is not found).
1720         * src/mainwindow.c
1721           src/prefs_common.c
1722           src/summaryview.c: reorganized Reply menu and added 'Reply to
1723           mailing list'.
1724         * src/utils.[ch]: scan_mailto_url(): new. It scans mailto URL and
1725           returns newly allocated parameters.
1726
1727 2002-09-25
1728
1729         * src/account.c: account_read_config_all(): set account information
1730           to default before initializing with configuration file.
1731         * src/prefs_account.[ch]: prefs_account_new(): new. It returns a
1732           newly created account information structure initialized by
1733           the default settings.
1734
1735 2002-09-24
1736
1737         * src/addr_compl.c:
1738           replace_address_in_edit(): check if newtext is NULL.
1739           completion_window_button_press(): fixed a memory leak.
1740         * src/pop.c: LOOKUP_NEXT_MSG(): don't expire messages whose
1741           recv_time is RECV_TIME_KEEP.
1742           pop3_getrange_uidl_recv(): only set get_all flag if
1743           ac_prefs->getall is set.
1744           pop3_retr_recv(): don't delete messages which are not received
1745           by filter, and set recv_time to RECV_TIME_KEEP in the case.
1746         * src/pop.h: added an enum RecvTime.
1747         * src/inc.c: inc_drop_message(): unlink temporary message file if
1748           not received by filter.
1749
1750 2002-09-20
1751
1752         * src/mainwindow.c: added 'Edit/Select thread' menu.
1753         * src/summaryview.[ch]: added 'Select thread' to the context menu.
1754           summary_select_thread(): new. It selects all messages of current
1755           thread.
1756
1757 2002-09-19
1758
1759         * src/rfc2015.c: check_signature(): corrected error handling and
1760           fixed memory leak.
1761
1762 2002-09-19
1763
1764         * src/rfc2015.c: check_signature(): correctly remove the last empty
1765           line, and canonicalize the file part before verifying (this should
1766           fix incompatibility with Evolution or some other MUAs).
1767         * src/utils.[ch]: copy_file_part(): new. It copies the specified
1768           range of file stream to another file.
1769
1770 2002-09-19
1771
1772         * src/compose.c: compose_write_to_file(): force BASE64 encoding for
1773           8-bit text when signing (thanks to Colin Leroy).
1774
1775 2002-09-16
1776
1777         * src/prefs_common.c: prefs_send_create(): fixed the charset string
1778           for Cyrillic (Windows-1251).
1779
1780 2002-09-15
1781
1782         * version 0.8.3
1783
1784 2002-09-15
1785
1786         * src/codeconv.c: changed the charset for ru_RU.CP1251 to
1787           Windows-1251. Added bg_BG locale.
1788
1789 2002-09-11
1790
1791         * src/compose.c: account_activated(): change the state of menu items
1792           and entries according to the selected account.
1793           compose_select_account(): new. It changes the state of title bar,
1794           menu items and entries.
1795
1796 2002-09-11
1797
1798         * src/inc.c: inc_mail(): correct new_msgs when inc_spool() returned
1799           by error.
1800           Don't refresh summary view on fetching when open_inbox_on_inc is
1801           set.
1802
1803 2002-09-10
1804
1805         * src/summaryview.c: summary_show(): refresh even if open_inbox_on_inc
1806           is set (to avoid summary refresh problem).
1807         * src/imap.c: removed warnings by checking the existence of directory
1808           before calling remove*_numbered_files().
1809
1810 2002-09-06
1811
1812         * src/prefs_common.c: corrected English.
1813
1814 2002-09-06
1815
1816         * src/prefs_common.[ch]: added an option: "Mark messages as read
1817           only when opened in new window".
1818
1819 2002-09-04
1820
1821         * src/folder.c:
1822           folder_tree_destroy()
1823           folder_write_list_recursive(): added sanity check.
1824         * src/imap.c: imap_scan_tree(): if folder->node is NULL and
1825           can't get session, create empty folder node (based on the
1826           Alfons' suggestion).
1827
1828 2002-09-03
1829
1830         * src/textview.c: textview_key_pressed(): pass GDK_Delete event to
1831           SummaryView.
1832         * src/summaryview.c: summary_key_pressed(): scroll correct TextView
1833           on MIME mode.
1834
1835 2002-09-02
1836
1837         * src/news.c: news_scan_group(): fixed wrong message number
1838           calculation.
1839
1840 2002-08-30
1841
1842         * major refactoring for POP3.
1843         * src/inc.[ch]: moved Pop3State, inc_pop3_state_new(),
1844           inc_pop3_state_destroy(), inc_get_uidl_table(), and
1845           inc_write_uidl_list() into pop.c.
1846           Moved Pop3State::folder_table and Pop3State::inc_state into
1847           IncSession.
1848           inc_start()
1849           inc_put_error(): added lockbusy state.
1850           inc_pop3_session_do(): obtain inc_state from Pop3State::error_val.
1851           inc_cancel(): don't terminate the automaton here but just set
1852           the flags to prevent crash.
1853         * src/pop.[ch]
1854           pop3_getauth_pass_recv()
1855           pop3_getauth_apop_recv(): check lockbusy state.
1856           pop3_retr_recv(): check Pop3State::cancelled flag.
1857         * src/automaton.[ch]: added 'cancelled' flag to Automaton.
1858           automaton_input_cb(): terminate if cancelled flag is true.
1859         * sylpheed.desktop: changed Type=Internet to Type=Application.
1860           Added Categories=Application;Network;.
1861
1862 2002-08-29
1863
1864         * src/inc.[ch]
1865           src/pop.c
1866           src/progressdialog.c: show detailed information to the status
1867           column.
1868           Added cur_total_recv_bytes to Pop3State.
1869         * src/prefs_common.[ch]: added an option to specify whether to
1870           close receive dialog when finished.
1871
1872 2002-08-28
1873
1874         * src/folder.[ch]: folder_get_path(): new. It returns the root path
1875           of Folder.
1876         * src/imap.c
1877           src/news.c
1878           imap_folder_destroy()
1879           imap_remove_msg()
1880           imap_remove_all_msg()
1881           news_folder_destroy(): remove cache directories / files when
1882           deleting Folder / messages.
1883         * src/utils.c:
1884           file_exist()
1885           is_dir_exist()
1886           is_file_entry_exist(): check if the argument is NULL.
1887           remove_all_files()
1888           remove_numbered_files()
1889           remove_expired_files(): fixed memory leaks on error.
1890
1891 2002-08-28
1892
1893         * src/folder.[ch]
1894           src/imap.[ch]
1895           src/mh.[ch]
1896           src/news.[ch]
1897           src/session.[ch]
1898           src/smtp.[ch]: made Folder and Session destructor virtual method.
1899
1900 2002-08-27
1901
1902         * src/compose.c: do joining of normal lines only when auto-wrapping.
1903         * src/main.c: modified the warning message for GnuPG.
1904         * src/about.c: about_create(): modified the compiled-in features
1905           list.
1906         * configure.in: improved LDAP library checking (thanks to Alfons).
1907
1908 2002-08-26
1909
1910         * version 0.8.2
1911
1912 2002-08-26
1913
1914         * src/compose.c:
1915           join_next_line()
1916           compose_wrap_line_all(): backed out the change to join lines that
1917           are not indented.
1918         * NEWS
1919           TODO
1920           TODO.jp: updated.
1921         * configure.in: require at least gpgme-0.3.5.
1922
1923 2002-08-23
1924
1925         * src/alertpanel.c: alertpanel_create(): minor modification.
1926         * modified NEWS.
1927
1928 2002-08-23
1929
1930         * updated NEWS.
1931
1932 2002-08-23
1933
1934         * src/alertpanel.c: alertpanel_create(): modified the layout.
1935         * src/rfc2015.c: check_signature(): don't abort on error.
1936
1937 2002-08-22
1938
1939         * src/compose.c: compose_wrap_line_all(): freeze widget only if
1940           required to repress flickers.
1941
1942 2002-08-21
1943
1944         * src/compose.c: improved line wrapping.
1945           join_next_line()
1946           compose_wrap_line_all(): also join lines that are not indented.
1947           dump_text(): handle multi-byte strings correctly.
1948
1949 2002-08-21
1950
1951         * src/compose.c: compose_wrap_line_all(): fix for auto-wrapping
1952           (go to next line when space is entered at line limit).
1953
1954 2002-08-19
1955
1956         * src/inc.c: inc_get_uidl_table(): fixed a memory leak reported by
1957           Martin Kluge.
1958
1959 2002-08-16
1960
1961         * src/mh.c: mh_scan_tree_recursive(): disabled Maildir folder
1962           checking to prevent confusion.
1963
1964 2002-08-16
1965
1966         * src/folder.[ch]: folder_item_get_msg_list(): added a wrapper for
1967           method Folder::get_msg_list().
1968         * src/account.c: account_edit_prefs(), account_delete(): use
1969           folderview_set_all() instead of folderview_rescan_all().
1970         * src/folderview.[ch]:
1971           folderview_check_new_all(): new. Updates all folders.
1972           folderview_rescan_tree(): confirm before executing.
1973           folderview_rescan_all(): commented out since it's not used anymore.
1974           folderview_update_item_foreach(): added a flag for summary update.
1975         * src/inc.c: inc_finished(): update summary only when
1976           prefs_common.scan_all_after_inc is set.
1977           inc_drop_message(): set mtime of target folder to 0 to force
1978           the updating of summary.
1979           inc_start(), get_spool(): update also summary when updating
1980           folder view.
1981         * src/mainwindow.c: changed 'File - Rescan folder tree' to
1982           'File - Check for new messages in all folders'.
1983
1984 2002-08-09
1985
1986         * src/compose.c: compose_write_to_file(): clearsign message body
1987           if specified.
1988           compose_clearsign_text(): new. Replaces the string with clearsigned
1989           one.
1990         * src/prefs_account.c: added an option for clearsign.
1991         * src/rfc2015.c: rfc2015_clearsign(): new.
1992           pgp_sign(): added a flag for clearsign.
1993         * src/utils.[ch]: get_tmp_file(): return newly allocated unique file
1994           name (needs to be freed by caller).
1995           str_write_to_file(), file_read_to_str(): new.
1996
1997 2002-08-08
1998
1999         * src/procmsg.c: procmsg_read_mark_file(): check key duplication
2000           to avoid memory leak.
2001
2002 2002-08-08
2003
2004         * src/base64.c: include string.h for memcpy().
2005         * src/gtksctree.c: use macro ABS() instead of function abs().
2006         * src/prefs_account.c
2007           src/prefs_common.c: renamed 'send' to 'p_send' so as not to
2008           conflict with the function send() in sys/socket.h.
2009         * src/mainwindow.c: commented out the unnecessary functions.
2010         * src/utils.c: canonicalize_file_replace(): correct warning message.
2011
2012 2002-08-08
2013
2014         * src/utils.[ch]: get_tmp_file(): new. Returns the directory for
2015           temporary files in ~/.sylpheed/.
2016         * src/main.c: create temporary directory in ~/.sylpheed/.
2017         * src/compose.c
2018           src/inc.c: create temporary files in ~/.sylpheed/, and modified
2019           the file name.
2020           compose_exec_ext_editor(): fixed a bug that failed to create the
2021           temporary file if g_get_tmp_dir() returned directory other than
2022           '/tmp'.
2023
2024 2002-08-08
2025
2026         * src/utils.c: copy_file(): check if dest_bak != NULL when unlinking.
2027
2028 2002-08-08
2029
2030         * src/utils.[ch]: canonicalize_file_replace(): fixed a bug that fails
2031           to replace the file when the given file and temporary file are not
2032           on the same filesystem.
2033           copy_file(): added a flag whether to keep backup.
2034           move_file(): added a flag whether to overwrite the destination file.
2035
2036 2002-08-07
2037
2038         * src/socket.[ch]: fixed the linking failure when IPv6 is enabled.
2039         * src/select-keys.c: modified key selection dialog.
2040
2041 2002-08-07
2042
2043         * src/socket.[ch]: my_gethostbyname(): new.
2044         * src/utils.c: get_domain_name(): return FQDN instead of short
2045           hostname (thanks to Bob Woodside).
2046         * src/template.c: made the debug messages less verbose.
2047
2048 2002-08-06
2049
2050         * src/prefs_common.[ch]: removed obsolete default sign key setting.
2051         * src/utils.c: canonicalize_file(): correct the error check of
2052           fwrite().
2053
2054 2002-08-06
2055
2056         * src/compose.c: compose_write_to_file():
2057           canonicalize line endings before encrypting/signing (this will fix
2058           interoperability with other MUAs).
2059           Removed unnecessary strdup.
2060           Don't encrypt/sign draft message.
2061         * src/utils.[ch]:
2062           canonicalize_file(), canonicalize_file_replace(): new.
2063         * src/passphrase.c
2064           src/select-keys.c: changed g_message() to debug_print() and
2065           g_warning().
2066         * src/mimeview.c: mimeview_check_signature(): removed unnecessary
2067           MIME structure scanning.
2068         * src/textview.c: textview_add_part(): show signature status in
2069           TextView.
2070         * src/rfc2015.c
2071           src/sigstatus.c: modified translatable strings and some MIME
2072           headers.
2073
2074 2002-08-06
2075
2076         * src/procmsg.c: procmsg_save_to_outbox(): don't forget to remove
2077           the temporary file when saving from queue.
2078 2002-08-05
2079
2080         * src/compose.c
2081           src/passphrase.[ch]
2082           src/rfc2015.[ch]
2083           src/prefs_account.[ch]
2084           src/prefs_common.[ch]: merged GnuPG stuff from the claws branch.
2085           Modified some messages.
2086
2087 2002-08-05
2088
2089         * src/textview.c: textview_scan_header(): fixed a memory leak
2090           (thanks to Alfons).
2091
2092 2002-08-04
2093
2094         * src/prefs_actions.c: execute_actions(): put create_io_dialog()
2095           in right conditional block.
2096
2097 2002-08-01
2098
2099         * src/compose.c: compose_wrap_line_all(): fixed character buffer
2100           initialization.
2101         * src/utils.c:
2102           log_print()
2103           log_message()
2104           log_warning()
2105           log_error(): add time stamp to log messages.
2106
2107 2002-07-31
2108
2109         * src/socket.c:
2110           corrected a typo (HAVE_SYS_SELECT -> HAVE_SYS_SELECT_H)
2111
2112 2002-07-31
2113
2114         * src/socket.c: implemented socket I/O timeout.
2115           fd_recv(): new.
2116         * src/pop.c: check errors and return error value correctly.
2117
2118 2002-07-31
2119
2120         * src/prefs_actions.c: made the action's input/output dialog display
2121           without delay. Made the dialog modal instead of making window
2122           insensitive. Also cleaned up its UI.
2123
2124 2002-07-29
2125
2126         * implemented --attach command line option.
2127         * src/main.c:
2128           Cmd::attach_files: new member to store file paths.
2129           parse_cmd_opt(): added --attach option. --compose option is implied.
2130           prohibit_duplicate_launch()
2131           lock_socket_input_cb(): added "compose_attach" message.
2132         * src/compose.c
2133           src/mainwindow.c
2134           src/textview.c: renamed compose_new_with_recipient() to
2135           compose_new(), and added an argument for attachment files.
2136
2137 2002-07-29
2138
2139         * src/logwindow.c: freeze GtkText widget while hidden.
2140           log_window_append(): changed the header for message and warning.
2141
2142 2002-07-26
2143
2144         * src/news.c: implement automatic cache expiration.
2145           news_delete_expired_caches(): new.
2146           news_get_article_list(): fixed a bug that nonexistent messages
2147           were not removed from list.
2148         * src/procmsg.[ch]: procmsg_get_last_num_in_msg_list(): renamed
2149           procmsg_get_last_num_in_cache().
2150         * src/utils.[ch]: remove_expired_files(): new.
2151
2152 2002-07-26
2153
2154         * src/inc.c:
2155           inc_mail(): force summary refresh when using external command for
2156           incorporation.
2157           inc_all_account_mail(): fixed a bug on spool checking failure.
2158
2159 2002-07-25
2160
2161         * version 0.8.1
2162
2163 2002-07-24
2164
2165         * src/addressbook.c
2166           src/editaddress.c
2167           src/editgroup.c
2168           src/editldap_basedn.c
2169           src/importldif.c
2170           src/prefs_common.c: fixed memory leaks which didn't free strings
2171           gtk_editable_get_chars() returned. And minor code cleanups.
2172         * src/importldif.h
2173           src/vcard.h: removed C++-style comments.
2174
2175 2002-07-23
2176
2177         * src/codeconv.c: conv_encode_header(): fixed a problem in encoding
2178           strings which include both multi-byte and us-ascii characters.
2179
2180 2002-07-23
2181
2182         * src/utils.c: remove_numbered_files(): don't try to unlink()
2183           directories.
2184         * src/codeconv.c:
2185           conv_get_code_conv_func(): return conv_anytodisp() if charset is
2186           not specified.
2187           conv_unmime_header_overwrite()
2188           conv_unmime_header(): do conv_anytodisp() before decoding header.
2189
2190 2002-07-14
2191
2192         * version 0.8.0
2193
2194 2002-07-14
2195
2196         * src/compose.c: added 'Tools/Actions' menu.
2197
2198 2002-07-12
2199
2200         * src/base64.c: a minor fix for BASE64VAL() macro.
2201
2202 2002-07-11
2203
2204         * src/base64.c: base64_decode(): fixed a buffer overrun bug.
2205
2206 2002-07-11
2207
2208         * src/codeconv.c
2209           src/compose.c
2210           src/smtp.c
2211           src/unmime.c
2212           src/base64.[ch]: rewrote the BASE64 encode / decode routines.
2213           base64_encode(), base64_decode(): new.
2214         * src/rfc822.[ch]: removed.
2215         * COPYING
2216           src/about.c: removed the copyright notice for fetchmail.
2217
2218 2002-07-10
2219
2220         * src/codeconv.c
2221           src/procmime.c
2222           src/unmime.[ch]: rewrote the MIME decode routines.
2223           unmime_header()
2224           unmime_quoted_printable_line(): new.
2225         * src/procheader.c:
2226           procheader_get_one_field()
2227           procheader_get_unfolded_line(): remove also CR.
2228
2229 2002-07-08
2230
2231         * libkcc: removed from the source tree.
2232         * COPYING
2233           src/about.c: removed the copyright notice for libkcc.
2234         * src/codeconv.c: conv_guess_encoding(): check for ASCII code first
2235           for speedup.
2236         * src/prefs_actions.c: removed unnecessary spaces/tabs.
2237
2238 2002-07-05
2239
2240         * src/prefs_actions.c: comply with the coding style.
2241           Modified the UI design.
2242         * src/mainwindow.c: main_window_set_menu_sensitive(): enable Actions
2243           menu when multiple messages are selected.
2244
2245 2002-07-05
2246
2247         * src/prefs_actions.[ch]: merged the 'Actions' feature from claws.
2248           update_actions_menu(): simplified the menu deletion.
2249         * src/mainwindow.c: added 'Actions' menu to Tools and Configuration.
2250
2251 2002-07-04
2252
2253         * src/codeconv.[ch]: implemented conv_jistoeuc(), conv_euctojis(),
2254           conv_sjistoeuc(), and conv_guess_encoding(). Removed the dependency
2255           to libkcc.
2256
2257 2002-07-04
2258
2259         * configure.in: added check for strchr.
2260
2261 2002-07-02
2262
2263         * src/prefs_common.[ch]
2264           src/inc.c: added an option to inhibit receive error dialog.
2265
2266 2002-07-01
2267
2268         * src/account.c: account_find_from_address(): support multiple
2269           addresses in header.
2270
2271 2002-06-28
2272
2273         * src/gtksctree.[ch]: changed GtkSCTree::anchor_row from gint to
2274           GtkCTreeNode* so that it won't become invalid after the row move.
2275           Removed dependency to gtkutils.c.
2276         * src/prefs_common.[ch]
2277           src/summaryview.c: summary_selected(): added an option to show
2278           message when cursor keys are pressed on summary view.
2279
2280 2002-06-28
2281
2282         * configure.in
2283           src/Makefile.am
2284           src/compose.c: changed "host_alias" to "target_alias" so that it
2285           shows the correct system name on cross-compiling (thanks to
2286           Patrice Mandin).
2287
2288 2002-06-27
2289
2290         * src/prefs_account.[ch]: added the option menu to force an
2291           authentication method for SMTP AUTH.
2292         * src/send.c
2293           src/smtp.[ch]: smtp_from(), smtp_auth(): added an argument to
2294           specify the authentication method for SMTP AUTH.
2295           smtp_ehlo(): allow AUTH responses that don't comply with the RFC.
2296
2297 2002-06-25
2298
2299         * src/prefs_common.[ch]
2300           src/compose.c: enabled "Wrap on input".
2301
2302 2002-06-25
2303
2304         * src/summaryview.[ch]
2305           src/mainwindow.c: added "Go to/{Prev,Next} new message" menu.
2306           Made some code cleanups.
2307
2308 2002-06-20
2309
2310         * src/folderview.c
2311           src/prefs_common.[ch]: added the hidden option to specify the
2312           policy of the vertical scrollbar on folder view.
2313
2314 2002-06-19
2315
2316         * src/messageview.[ch]:
2317           messageview_copy_clipboard(): fixed a bug that couldn't copy text
2318           on MIME mode.
2319           messageview_get_current_textview(): new.
2320           messageview_get_text_widget(): removed.
2321         * src/quote_fmt_parse.y: quote message even if msginfo is empty.
2322         * src/compose.[ch]: implemented the "Paste as quotation" feature.
2323           text_inserted(): new callback for "insert_text" signal.
2324           Add quote mark to the pasted text if Compose::paste_as_quotation
2325           is TRUE.
2326
2327 2002-06-19
2328
2329         * src/compose.c: if the Content-Type of a file is text/*, check
2330           its content and set the optimal Content-Transfer-Encoding (thanks
2331           to Yoichi Yuasa).
2332
2333 2002-06-18
2334
2335         * src/textview.c: textview_key_pressed(): pass key press event to
2336           main window to activate menu shortcuts (thanks to Alfons).
2337
2338 2002-06-18
2339
2340         * src/folder.c: folder_build_tree(): use strtoul() instead of atoi()
2341           for mtime to prevent flooring.
2342         * src/imap.c:
2343           imap_move_msg()
2344           imap_move_msgs_with_dest()
2345           imap_copy_msgs_with_dest(): fixed a bug that prevented multiple
2346           message copy/move.
2347           imap_parse_envelope()
2348           imap_cmd_envelope(): use RFC822.HEADER instead of ENVELOPE to get
2349           full information of messages and simplify the parser. Also fixed
2350           the bug that References header was ignored on threading.
2351           imap_parse_one_address()
2352           imap_parse_address(): removed.
2353           imap_get_header(): new. It reads the RFC822 header and returns
2354           a newly allocated string.
2355         * src/procheader.[ch]: changed procheader_parse() to
2356           procheader_parse_stream() and added different interfaces for it.
2357
2358 2002-06-17
2359
2360         * po/zh_TW.Big5.po: fixed a mistake that caused a crash.
2361
2362 2002-06-15
2363
2364         * version 0.7.8
2365
2366 2002-06-13
2367
2368         * src/inc.c: inc_get_uidl_table(): fixed a bug that garbage time
2369           could be inserted into the hash table.
2370           inc_write_uidl_list(): a minor code cleanup.
2371         * src/mainwindow.c: main_window_get_current_state():
2372           make the state unexecutable on an empty folder.
2373         * src/summaryview.c: summary_sort(): don't sort on an empty folder.
2374         * src/pop.c: minor code cleanups.
2375
2376 2002-06-12
2377
2378         * src/prefs_account.c: CREATE_RADIO_BUTTONS(): fixed a typo and
2379           corrected the behavior of the radio buttons.
2380
2381 2002-06-11
2382
2383         * implemented 'Delete messages after N days' feature for POP3.
2384         * src/inc.[ch]:
2385           inc_get_uidl_table()
2386           inc_write_uidl_list(): moved the location of UIDL list file from
2387           RC_DIR/uidl-* to RC_DIR/uidl/*.
2388           Added received time for each UIDLs.
2389           src/main.c: main(): create RC_DIR/uidl/ directory.
2390           src/pop.[ch]: LOOKUP_NEXT_MSG(): delete expired messages here.
2391           Added recv_time to Pop3MsgInfo.
2392           src/prefs_account.[ch]: added an option for the number of days for
2393           leaving messages.
2394
2395 2002-06-09
2396
2397         * version 0.7.7
2398
2399 2002-06-07
2400
2401         * src/folder.c: folder_set_missing_folders(): fixed a bug that
2402           caused multiplication of special folders on startup if their
2403           types were changed.
2404         * src/folderview.c: folderview_remove_mailbox_cb(): modified the
2405           label.
2406
2407 2002-06-04
2408
2409         * src/compose.c: compose_reply(), compose_forward(): reverted the
2410           last change since it causes lockup problem.
2411
2412 2002-06-04
2413
2414         * src/compose.c: compose_reply(), compose_forward(): don't autowrap
2415           the signature part.
2416           compose_new_with_recipient(): workaround for initial XIM problem.
2417
2418 2002-06-04
2419
2420         * src/mainwindow.c: sort ascending / descending order can be
2421           specified with separated menu items.
2422           Added "View/Sort/Don't sort" menu item.
2423         * src/summaryview.[ch]: summary_sort(): added an argument for
2424           sort type.
2425
2426 2002-05-31
2427
2428         * implemented persistent sort order.
2429         * src/folder.[ch]:
2430           folder_build_tree(): read 'sort_key' and 'sort_type' attributes.
2431           folder_write_list_recursive(): write sorting state.
2432           src/mainwindow.c
2433           src/summaryview.[ch]: summary_show(): sort if required.
2434           select the top node on descending sort.
2435           Removed SummarySortType and sorting state variables from
2436           SummaryView.
2437
2438 2002-05-30
2439
2440         * src/account.c
2441           src/news.[ch]
2442           src/nntp.[ch]
2443           src/prefs_account.[ch]: enabled NNTP over SSL.
2444         * src/nntp.c: nntp_group(): issue MODE READER command and retry
2445           when GROUP command once failed (this seems to avoid problems on
2446           some broken news servers).
2447
2448 2002-05-30
2449
2450         * faq/it/*.html: corrected DOS linebreaks.
2451         * faq/*/*.html: changed ">" to &quot;.
2452
2453 2002-05-29
2454
2455         * src/prefs_account.c: prefs_account_protocol_activated(): hide
2456           unnecessary frames in SSL tab.
2457
2458 2002-05-29
2459
2460         * src/pop.[ch]
2461           src/inc.c
2462           src/prefs_account.[ch]: enabled STLS command in POP3.
2463         * src/account.c: account_clist_set_row(): display TLS setting.
2464
2465 2002-05-28
2466
2467         * src/compose.c: compose_send_later_cb(): support redirect function.
2468         * src/imap.[ch]
2469           src/ssl.h
2470           src/prefs_account.[ch]: enabled STARTTLS command in IMAP4.
2471         * src/send.c
2472           src/smtp.[ch]: use SSLType instead of SSLSMTPType.
2473
2474 2002-05-28
2475
2476         * src/utils.[ch]: make_dir(): wrapper for mkdir() and chmod().
2477         * src/compose.c: compose_create(): removed unrequired lines.
2478
2479 2002-05-27
2480
2481         * src/news.c: news_scan_group(): fixed a bug that set the wrong
2482           values in some cases.
2483         * src/prefs_account.c: corrected English in Advanced - Folder
2484           settings.
2485
2486 2002-05-23
2487
2488         * src/textview.c: textview_show_message(), textview_show_part():
2489           fixed a bug that GtkSText *text pointed the incorrect object.
2490           textview_add_part(): freeze GtkSText while adding RFC822 headers.
2491           textview_show_part(): fixed a bug that couldn't display single
2492           part MIME message as text.
2493
2494 2002-05-22
2495
2496         * src/compose.c: compose_redirect_write_to_file(): correct the target
2497           for change_file_mode_rw(). Check if fclose() succeeded. Unlink
2498           incomplete file when an error occured.
2499
2500 2002-05-22
2501
2502         * src/compose.c:
2503           compose_create(): disable menus for draft on redirection mode.
2504           compose_redirect_write_to_file(): correct the error handling of
2505           fwrite().
2506         * src/prefs_common.c: turned off the "Display recipient on `From'
2507           column if sender is yourself" option by default.
2508
2509 2002-05-21
2510
2511         * src/compose.[ch]: implemented 'Redirect' (aka Bounce) feature.
2512           Based on the implementation of the claws branch.
2513           compose_redirect(): create a new window and make it uneditable.
2514           compose_redirect_write_to_file(): copy headers and body of
2515           original message except for some.
2516           compose_redirect_write_headers(): add extra "Resent-*" headers.
2517           compose_create(): set menu sensitivity for redirection mode.
2518
2519 2002-05-20
2520
2521         * src/codeconv.c: conv_encode_header(): fixed a bug that unnecessary
2522           space is inserted between encoded string and the following folded
2523           one (thanks to Masahiro Tomita).
2524
2525 2002-05-19
2526
2527         * src/mainwindow.[ch]: some refactoring has been made.
2528           main_window_toggle_message_view(): moved summary_toggle_view_real()
2529           here.
2530         * src/messageview.[ch]: messageview_is_visible(): new.
2531         * src/summary_search.c
2532           src/summaryview.[ch]: SummaryView::msg_is_toggled_on: removed.
2533           Instead use messageview_is_visible().
2534
2535 2002-05-17
2536
2537         * src/mainwindow.c: added 'Expand/Collapse all threads' menu.
2538         * src/summaryview.[ch]:
2539           summary_expand_threads(), summary_collapse_threads(): new.
2540
2541 2002-05-17
2542
2543         * src/mainwindow.c: Fixed the behavior of
2544           '/View/Show or hide/Folder tree' and
2545           '/View/Show or hide/Message view' toggle menu.
2546           Removed '/View/Toggle summary view' menu and integrated the
2547           function into '/View/Show or hide/Message view'.
2548           main_window_set_widgets(): change the state of toggle menu items.
2549         * src/prefs_common.c: prefs_keybind_apply_clicked(): updated menurc
2550           strings.
2551
2552 2002-05-16
2553
2554         * src/mimeview.c: mimeview_set_multipart_tree(): show single part
2555           MIME contents other than text as children of message/rfc822 part.
2556         * src/procmime.c:
2557           procmime_mimeinfo_next(): modified for message/rfc822 part which
2558           content-type is single part MIME.
2559           procmime_scan_multipart_message(): fix for nested message/rfc822
2560           part. Corrected the size of the contents of message/rfc822.
2561         * src/textview.c: textview_show_part(): extract the contents of
2562           multipart/* and message/rfc822. Some code cleanups.
2563           textview_add_parts(): new. It adds the all parts under a part to
2564           textview.
2565           textview_clear(): reset body_pos and cur_pos.
2566
2567 2002-05-16
2568
2569         * src/addr_compl.c: modified so that it behaves better.
2570           get_address_from_edit(): ignore comma inside of brackets.
2571           completion_window_apply_selection(): new. Only apply the current
2572           clist selection.
2573           completion_window_accept_selection(): removed.
2574           address_completion_complete_address_in_entry(): minor code cleanup.
2575           don't replace address in entry here.
2576           completion_window_select_row(): always apply clist selection to
2577           entry.
2578           completion_window_key_press(): don't apply selection here.
2579
2580 2002-05-15
2581
2582         * src/imap.c: imap_create_folder(): keep trailing directory separator
2583           to create a folder that contains sub folder.
2584
2585 2002-05-14
2586
2587         * src/foldersel.c: sort tree with case insensitive.
2588         * src/mainwindow.c: allsel_cb()
2589           src/messageview.c: messageview_select_all(): fixed 'Select all'
2590           on MIME view.
2591         * src/mainwindow.c: removed common and account prefs button from
2592           the toolbar.
2593
2594 2002-05-13
2595
2596         * src/compose.c: compose_account_option_menu_create(): check if
2597           ac->name is NULL.
2598
2599 2002-05-12
2600
2601         * version 0.7.6
2602
2603 2002-05-12
2604
2605         * manual/ja/*: updated the Japanese manual (thanks to Yoichi Imai).
2606           manual/en/*: updated the English manual.
2607         * faq/de/*
2608           faq/it/*: added German and Italian FAQ.
2609         * faq/en/*
2610           faq/es/*
2611           faq/fr/*: updated FAQs.
2612         * src/manual.[ch]
2613           src/mainwindow.c: added German and Italian language.
2614
2615 2002-05-11
2616
2617         * src/prefs_account.c: turn off "receive at get all" option by default
2618           when creating an IMAP or News account.
2619
2620 2002-05-11
2621
2622         * src/imap.c: imap_scan_tree(): don't use namespace for prefix.
2623         * src/prefs_folder_item.c: show also identifier path.
2624           Made layout using table. Show uneditable entry using background
2625           color of window.
2626         * src/procmime.c: procmime_get_tmp_file_name(): generate safe
2627           file name.
2628
2629 2002-05-11
2630
2631         * src/automaton.[ch]: added UI callback to Automaton.
2632         * src/inc.c
2633           src/pop.c: use callback instead of calling inc_progress_update()
2634           directly.
2635           pop3_getrange_uidl_recv(): don't fall back to LAST when 'get all'
2636           option is set.
2637
2638 2002-05-10
2639
2640         * src/folderview.c: properly sort abbreviated newsgroups.
2641
2642 2002-05-10
2643
2644         * src/folderview.c
2645           src/prefs_common.[ch]
2646           src/summaryview.c: added an option to specify the minimum length
2647           for abbreviated newsgroups name.
2648
2649 2002-05-09
2650
2651         * src/folderview.c: folderview_check_new(): skip unselectable folders.
2652         * src/summaryview.c: added 'Create filter rule' to the context menu.
2653         * src/imap.c: some code cleanups.
2654           imap_scan_tree_recursive(): get path separator for each calls.
2655           imap_get_path_separator(): new.
2656
2657 2002-05-08
2658
2659         * src/imap.[ch]: supported namespace for others/shared folders
2660           (in progress).
2661           imap_parse_namespace(): parse also others/shared namespace.
2662           imap_find_namespace(): search also others/shared namespace.
2663         * src/utils.[ch]:
2664           strchr_parenthesis_close(): return pointer to closing parenthesis.
2665           strsplit_parenthesis(): split parenthetic list into array of
2666           strings.
2667
2668 2002-05-08
2669
2670         * src/procheader.c: procheader_date_parse(): fixed a bug that didn't
2671           parse date string like "Mon,6 May 2002 20:31:12 +0800".
2672           procheader_scan_date_string(): new. Separated string scanning
2673           part from procheader_date_parse().
2674
2675 2002-05-07
2676
2677         * src/summary_search.c: summary_search_execute(): unlock while
2678           selecting summary row (thanks to Martin Schaaf).
2679         * src/summaryview.c: summary_set_column_titles(): reversed the
2680           direction of the arrow so that it matches with Win/Mac style.
2681
2682 2002-05-02
2683
2684         * src/compose.c: compose_write_headers(): quote self address name
2685           if required. Some code cleanups. Don't override Newsgroups and
2686           Cc with custom headers.
2687         * src/imap.c: imap_add_msg(): return UID for appended message.
2688         * src/compose.c: compose_queue(): check if queue folder exists.
2689         * src/imap.c: QUOTE_IF_REQUIRED(): quote also other IMAP special
2690           characters.
2691           imap_open(): removed an unrequired argument.
2692
2693 2002-04-25
2694
2695         * src/utils.[ch]: trim_string(): new. It trim characters longer than
2696           the specified length and adds "...".
2697         * src/folderview.c: trim folder name when displaying dialog.
2698
2699 2002-04-23
2700
2701         * src/imap.c: imap_create_folder(): don't add prefix for root INBOX
2702           folder.
2703         * src/folderview.c: folderview_select()
2704           src/summary_search.c: summary_search_execute(): lock summary view
2705           while searching (thanks to Martin Schaaf).
2706
2707 2002-04-21
2708
2709         * version 0.7.5
2710
2711 2002-04-21
2712
2713         * sylpheed*.png: added new app icons by WAKAI Kazunao (thanks!).
2714
2715 2002-04-21
2716
2717         * src/summaryview.c: summary_show(): fixed a bug that didn't process
2718           the left marks.
2719         * src/account.c: account_edit_prefs(): fixed a crash bug when account
2720           name was empty.
2721         * src/prefs_account.c: prefs_account_apply(): display error dialog
2722           if account name is empty.
2723         * src/imap.c: changed some log_print() to debug_print() to reduce
2724           the amount of log.
2725
2726 2002-04-21
2727
2728         * src/mh.c: mh_get_new_msg_filename(): new. It returns the filename
2729           for new message.
2730           mh_add_msg()
2731           mh_do_move()
2732           mh_do_move_msgs_with_dest()
2733           mh_copy_msg()
2734           mh_copy_msgs_with_dest(): use mh_get_new_msg_filename().
2735         * src/utils.[ch]: added is_file_entry_exist() which returns TRUE
2736           if stat() succeeded.
2737         * src/imap.c:
2738           imap_fetch_msg(): SELECT mailbox before FETCH if required.
2739           imap_scan_folder(): set last_num using the value of UIDNEXT.
2740           imap_select(): return immediately if there is no need for SELECT.
2741           preserve the path of currently selected mailbox.
2742           imap_status(): added UIDNEXT.
2743
2744 2002-04-20
2745
2746         * src/folder.c: folder_item_scan(): removed the warning.
2747         * src/inputdialog.[ch]: input_dialog_combo(): added an argument for
2748           setting case sensitivity.
2749
2750 2002-04-17
2751
2752         * src/mainwindow.c: main_window_create(): restrict the minimum size.
2753
2754 2002-04-17
2755
2756         * src/compose.c: merged the new line-wrapping routine.
2757           join_next_line(): fixed a bug that didn't join multibyte
2758           characters.
2759           get_indent_length(): modified enums and variable names.
2760           INDENT_CHARS: don't indent ':'.
2761         * src/folderview.c:
2762           folderview_rename_folder_cb()
2763           folderview_delete_folder_cb(): support folder identifier.
2764           folderview_rm_imap_folder_cb(): integrated with
2765           folderview_delete_folder_cb().
2766
2767 2002-04-15
2768
2769         * src/folder.[ch]: folder_item_scan(): return -1 if scanning failed.
2770         * src/folderview.c: folderview_check_new(): abort checking if
2771           folder_item_scan() failed.
2772
2773 2002-04-15
2774
2775         * src/imap.c: imap_create_missing_folders(): create only INBOX and
2776           Trash.
2777         * src/prefs_folder_item.c: prefs_folder_item_set_dialog(): made the
2778           type of news folders unchangeable.
2779           prefs_folder_item_destroy(): use prefs_dialog_destroy().
2780         * src/prefs.[ch]: prefs_dialog_destroy(): new.
2781
2782 2002-04-15
2783
2784         * src/prefs_account.[ch]: added special folder setting to Advanced
2785           tab. Also moved "IMAP server directory" setting to there.
2786         * src/account.[ch]: account_get_special_folder(): new. It returns
2787           the optimal special folder for accounts.
2788         * src/compose.c: use account_get_special_folder().
2789         * src/prefs_folder_item.[ch]: new. Implemented folder property
2790           dialog, and the special folder settings (most of the functions in
2791           claws are not integrated yet, and the structure is slightly
2792           modified).
2793         * src/folderview.c: enabled Property menu.
2794
2795 2002-04-14
2796
2797         * src/textview.c: IS_RFC822_CHAR(): make email parser also stop
2798           scanning when encountering separators ',' and ';'.
2799
2800 2002-04-12
2801
2802         * src/mainwindow.c: reorderd the menu a bit.
2803         * src/compose.c: made 'Ctrl-Enter' ignore some modifiers.
2804           compose_reply_set_entry(): made 'Reply to sender' work for
2805           newsgroups.
2806
2807 2002-04-11
2808
2809         * src/compose.c: compose_create(): set geometry hints to restrict
2810           the maximum size of window.
2811         * src/imap.c: imap_parse_list(): don't mark INBOX as \Noselect.
2812           imap_get_uncached_messages()
2813           imap_cmd_fetch(): ignore responses which don't include FETCH.
2814
2815 2002-04-11
2816
2817         * COPYING: re-licensed (removal of "NO-VIRUS CLAUSE" and addition of
2818           the clause for OpenSSL).
2819
2820 2002-04-09
2821
2822         * src/prefs_account.c
2823           src/smtp.[ch]: fixed a bug that didn't complie with OpenSSL enabled.
2824
2825 2002-04-09
2826
2827         * src/smtp.[ch]
2828           src/send.c
2829           src/session.[ch]: first reorganization of SMTP protocol handling.
2830           SMTPSession: new class which is a sub class of Session.
2831           smtp_session_new(): moved send_smtp_open() into this function.
2832           smtp_from(): moved SMTP AUTH calls into smtp_auth().
2833           smtp_auth(): use server response for SMTP AUTH method.
2834           smtp_ehlo(): read server response and set auth type flags.
2835           smtp_helo(): separated EHLO command.
2836           smtp_ok(): return the last server response if the buffer is
2837           specified.
2838         * src/esmtp.[ch]: merged into smtp.[ch].
2839         * src/imap.c: imap_session_destroy_all(): use session_destroy().
2840
2841 2002-04-08
2842
2843         * src/imap.c: imap_open(): show warning message if IMAP4 session
2844           can't be established.
2845
2846 2002-04-06
2847
2848         * src/compose.c: made template able to be inserted into the current
2849           cursor position.
2850         * src/mainwindow.c: moved some menu items under the submenu
2851           '/View/Show or hide'.
2852
2853 2002-04-05
2854
2855         * src/filter.c
2856           src/inc.c: changed folder_find_item_from_path() to
2857           folder_find_item_from_identifier().
2858           src/prefs_account.c
2859           src/prefs_filter.c: use folder_item_get_identifier() to specify
2860           folder path.
2861
2862 2002-04-05
2863
2864         * src/folder.[ch]: implemented "folder identifier" (and fixed a bug
2865           existed in claws' implementation).
2866           folder_find_from_name(): find Folder from name and type.
2867           folder_get_identifier(): return Folder id.
2868           folder_item_get_identifier(): return FolderItem id.
2869           folder_find_item_from_identifier(): find FolderItem from id.
2870           folder_get_type_string(): return folder type string.
2871           folder_get_type_from_string(): return FolderType from string
2872           (and fixed the wrong g_strcasecmp() usage).
2873         * src/export.c
2874           src/import.c: use folder_item_get_identifier() and
2875           folder_find_item_from_identifier().
2876
2877 2002-04-03
2878
2879         * src/imap.c: imap_parse_atom(): fixed a bug that cur_pos didn't
2880           point the correct address after reading the continuous line.
2881           imap_scan_folder(): set new number to 0 if unseen number is 0.
2882           imap_parse_flags(): don't add new and unread flag if \Seen flag
2883           exists.
2884         * ac/Makefile.am: removed gpgme.m4 from MACROS.
2885
2886 2002-04-02
2887
2888         * fixed the old problem that couldn't add flags to currently opened
2889           folders.
2890         * src/compose.c:
2891           compose_send(): update outbox after saving.
2892           compose_queue()
2893           compose_draft_cb(): use procmsg_add_flags().
2894         * src/folder.[ch]: added "opened" flag and "mark_queue" list to
2895           FolderItem.
2896         * src/main.c: send_queue(): send from all queue folders.
2897         * src/mainwindow.c: send_queue_cb(): send from all queue folders.
2898         * src/procmsg.[ch]:
2899           procmsg_flush_mark_queue(): new. Write all queued flags into file.
2900           procmsg_add_flags(): new. Add specified flags to the folder.
2901           procmsg_send_queue(): added an argument to specify queue folder.
2902           procmsg_save_to_outbox(): use procmsg_add_flags().
2903         * src/summaryview.c:
2904           summary_show(): up the opened flag of FolderItem.
2905           summary_clear_list(): down the opened flag of FolderItem.
2906           summary_write_cache(): call procmsg_flush_mark_queue().
2907
2908 2002-04-01
2909
2910         * src/summaryview.[ch]: trim the tail of folder name and selected
2911           number on the status label if the space is not enough.
2912
2913 2002-04-01
2914
2915         * src/imap.c: imap_create_special_folder(): fixed a bug that didn't
2916           set SpecialFolderItemType when creating special folders under
2917           INBOX.
2918         * ac/gpgme.m4: removed.
2919         * ac/README: added.
2920         * ac/missing/gdk-pixbuf.m4
2921           ac/missing/gettext.m4
2922           ac/missing/gpgme.m4
2923           ac/missing/imlib.m4: added for convenience.
2924
2925 2002-03-29
2926
2927         * src/esmtp.c: esmtp_auth(): fixed a bug that some garbages are
2928           shown after the decoded challenge string. Fixed a memory leak.
2929           Removed strtok().
2930         * src/compose.c: compose_draft_cb(): mark draft messages as read.
2931         * src/folderview.c: folderview_update_node(): disable emphasis
2932           for Outbox and Draft folders.
2933
2934 2002-03-28
2935
2936         * src/messageview.c: messageview_show(): fixed a memory leak.
2937         * src/summaryview.c: summary_save_as(): show error dialog if copy
2938           failed.
2939         * src/about.c: about_show(): make the window active if it is already
2940           open.
2941
2942 2002-03-27
2943
2944         * src/compose.c: show confirmation dialog before sending if Subject
2945           is empty.
2946           compose_check_entries(): new.
2947           compose_send()
2948           compose_send_later_cb(): use compose_check_entries().
2949         * src/imap.c: imap_parse_atom(): more fix for parsing responses.
2950
2951 2002-03-26
2952
2953         * src/imap.c: imap_parse_atom(): fixed a bug that didn't parse the
2954           responses with continuous line correctly, and fixed a memory leak.
2955
2956 2002-03-26
2957
2958         * src/undo.c: undo_insert_text_cb(): fixed a crash bug if the text
2959           length is large.
2960         * src/gtkstext.c: gtk_stext_button_press(): cancel current selection
2961           after pasting with middle button to prevent the selection growth.
2962
2963 2002-03-25
2964
2965         * src/folderview.c:
2966           folderview_rename_folder_cb()
2967           folderview_delete_folder_cb(): modify filter rules only if the
2968           target folder is in the default mailbox.
2969         * src/utils.c: get_abbrev_newsgroup_name(): removed a redundant
2970           line.
2971
2972 2002-03-23
2973
2974         * src/compose.c
2975           src/mainwindow.c
2976           src/prefs_common.c: changed 'Tool' menu to 'Tools'.
2977           Moved 'Delete duplicated messages' under 'Tools'.
2978
2979 2002-03-23
2980
2981         * src/folderview.c: SET_SPECIAL_FOLDER(): keep the same parent
2982           when moving.
2983         * src/imap.c: imap_create_special_folder(): fixed a crash bug
2984           when folder creation failed, and re-try to create folders under
2985           INBOX.
2986           imap_scan_tree_recursive(): don't automatically add namespace
2987           prefix if it's INBOX. Search also under the INBOX for special
2988           folders.
2989         * src/foldersel.c: SET_SPECIAL_FOLDER(): keep the same parent
2990           when moving.
2991
2992 2002-03-23
2993
2994         * src/utils.[ch]: get_abbrev_newsgroup_name(): new. It returns the
2995           abbreviated newsgroup name.
2996         * src/folderview.c: folderview_update_node(): display newsgroups
2997           with abbreviated name if name and path is the same.
2998         * src/summaryview.c: summary_status_show(): show the newsgroup with
2999           abbreviated name.
3000
3001 2002-03-23
3002
3003         * src/foldersel.c
3004           src/folderview.c: changed the label 'Draft' to 'Drafts'.
3005         * src/imap.c: changed the directory name 'Draft' to 'Drafts'.
3006           imap_create_missing_folders(): fixed the wrong assignment of
3007           Queue folder to draft.
3008
3009 2002-03-22
3010
3011         * enabled Sent / Draft / Queue folders on IMAP server.
3012         * src/compose.c: compose_queue(), compose_draft_cb(): use account's
3013           queue and draft folder if they exist.
3014           src/imap.[ch]:
3015           imap_create_trash(): removed.
3016           imap_create_special_folder(): new. Generalized imap_create_trash().
3017           imap_create_missing_folders(): automatically create missing folders.
3018           imap_is_msg_changed(): added the dummy method.
3019           imap_scan_tree_recursive(): search also Sent, Draft and Queue
3020           folders. Minor code cleanups.
3021           imap_parse_envelope(): check for null strings.
3022           src/procmsg.c: procmsg_read_cache(): add F_QUEUE or F_DRAFT flag
3023           for messages on IMAP folder.
3024
3025 2002-03-20
3026
3027         * src/compose.c: compose_send(): use account's outbox folder
3028           if it exists.
3029         * src/procmsg.[ch]: procmsg_save_to_outbox(): changed the API so
3030           that the outbox can be specified.
3031
3032 2002-03-20
3033
3034         * src/compose.c: don't save to outbox when messages are queued.
3035           compose_save_to_outbox(): moved to procmsg.c.
3036         * src/procmsg.[ch]: procmsg_send_queue(): save to outbox when
3037           sending succeeded.
3038           procmsg_save_to_outbox(): new. Removes the queueing headers if
3039           needed, and adds the given file to the outbox.
3040
3041 2002-03-20
3042
3043         * src/compose.c: compose_wrap_line(): treat '|' also as quote char.
3044           get_indent_length(): treat ':' and '#' also as quote char, and
3045           cleaned up using strchr().
3046
3047 2002-03-19
3048
3049         * src/mainwindow.c: modified some menu items.
3050
3051 2002-03-19
3052
3053         * src/defs.h: changed OUTBOX_DIR from "outbox" to "sent"
3054           (current "outbox" will be kept until rescan).
3055         * src/folder.c: folder_set_missing_folders(): create the missing
3056           folders.
3057         * src/foldersel.c
3058           src/folderview.c: changed 'Outbox' to 'Sent'.
3059         * src/main.c: call folder_set_missing_folders().
3060         * src/mh.c: mh_scan_tree(): create missing folders.
3061         * src/summaryview.c: summary_set_menu_sensitive(): fixed a bug that
3062           didn't set the menu sensitivity correctly.
3063
3064 2002-03-18
3065
3066         * src/folderview.c
3067           src/imap.[ch]: implemented folder renaming on IMAP (thanks to Mio).
3068           folderview_rename_folder_cb(): reopen the current folder when
3069           the ancestor is renamed.
3070           imap_rename_folder(): new method implementation.
3071           imap_cmd_rename()
3072           imap_rename_folder_func(): new.
3073           imap_remove_folder(): remove also the cache directory.
3074
3075 2002-03-17
3076
3077         * src/imap.c: implemented locale encoding <-> modified utf-7
3078           conversion, and supported i18n of folder name (thanks to Suzuki
3079           Mio).
3080           imap_path_separator_subst(): handle the escape characters of
3081           modified utf-7.
3082           imap_modified_utf7_to_locale()
3083           imap_locale_to_modified_utf7(): new.
3084           imap_create_trash(): modified so that it create the Trash folder
3085           to the correct location when imap directory is specified.
3086           imap_get_real_path(): removed debug print.
3087
3088 2002-03-14
3089
3090         * src/socket.c: implemented timeout for DNS lookup and connect().
3091           sock_connect_by_hostname(): timeout support and code cleanup.
3092           sock_connect_with_timeout(): new.
3093           sock_peek(): implemented SSL peek.
3094
3095 2002-03-13
3096
3097         * src/messageview.c: messageview_show(): display single-part
3098           text/html messages with the normal text view.
3099         * src/account.c
3100           src/addrbook.c
3101           src/addrindex.c
3102           src/compose.c
3103           src/imap.c
3104           src/inc.c
3105           src/jpilot.c
3106           src/ldif.c
3107           src/mbox.c
3108           src/mimeview.c
3109           src/news.c
3110           src/prefs.c
3111           src/prefs_common.c
3112           src/prefs_customheader.c
3113           src/prefs_display_header.c
3114           src/prefs_filter.c
3115           src/procheader.c
3116           src/procmime.c
3117           src/procmsg.c
3118           src/recv.c
3119           src/rfc2015.c
3120           src/send.c
3121           src/sourcewindow.c
3122           src/summaryview.c
3123           src/template.c
3124           src/textview.c
3125           src/unmime.c
3126           src/utils.c
3127           src/vcard.c
3128           src/xml.c: added 'b' to the option of all fopen().
3129
3130 2002-03-09
3131
3132         * version 0.7.4
3133
3134 2002-03-09
3135
3136         * src/ssl.[ch]: match its coding style.
3137         * src/compose.c: compose_send_later_cb(): fixed a bug that failed
3138           to save file.
3139         * faq/Makefile.am
3140           faq/en/Makefile.am
3141           faq/en/sylpheed-faq*.html
3142           faq/es/Makefile.am
3143           faq/es/sylpheed-faq*.html
3144           faq/fr/Makefile.am
3145           faq/fr/sylpheed-faq*.html
3146           configure.in
3147           Makefile.am
3148           src/Makefile.am
3149           src/defs.h
3150           src/mainwindow.c
3151           src/manual.[ch]: added FAQs in English, Spanish and French.
3152
3153 2002-03-07
3154
3155         * manual/en/sylpheed*.html: updated to the latest version.
3156         * libkcc/jis.c
3157           src/addrcache.c
3158           src/addritem.c
3159           src/ldif.c
3160           src/mgutils.c: include string.h to remove warning about strlen()
3161           etc.
3162         * src/folder.c
3163           src/folderview.c
3164           src/inc.c
3165           src/logwindow.c
3166           src/mainwindow.c
3167           src/mimeview.c
3168           src/prefs.c
3169           src/prefs_common.c
3170           src/procheader.c
3171           src/send.c
3172           src/session.c
3173           src/sigstatus.c
3174           src/summaryview.c: added break to the last label of switch to
3175           prevent the 'deprecated use of label at end of compound statement'
3176           warning at gcc-3.0.
3177         * src/rfc2015.c: passphrase_cb(): fixed the type of r_hd.
3178
3179 2002-03-06
3180
3181         * src/inc.[ch]: preserve the pointer to IncProgressDialog to the
3182           static list.
3183           inc_cancel_all(): new. It cancels the all current incorporation.
3184         * src/mainwindow.c: added 'Cancel receiving' menu.
3185         * src/textview.c: a minor fix for single-part MIME messages, and
3186           a bit of cleanup for textview_write_body().
3187
3188 2002-03-05
3189
3190         * src/inc.c: inc_write_uidl_list(): fixed a bug that lost UIDL
3191           information if any errors occured before issuing UIDL command.
3192           src/inc.h: added uidl_is_valid to Pop3State.
3193           src/pop.c: set uidl_is_valid to TRUE if UIDL becomes valid.
3194
3195 2002-03-03
3196
3197         * version 0.7.3
3198
3199 2002-03-03
3200
3201         * src/mimeview.c: mimeview_create(): set the initial notebook page
3202           to 0.
3203         * src/folderview.c: folderview_selected(): scroll the view if the
3204           selected row is hidden.
3205         * src/prefs_filter.c: prefs_filter_register_cb(): scroll the view
3206           and select the added row.
3207         * src/summaryview.c: fix threading for null message ids.
3208
3209 2002-03-02
3210
3211         * src/textview.c: textview_show_message(): follow message/rfc822
3212           parts.
3213           textview_add_part(): add a caption before the attached text files.
3214           textview_show_header(): don't add the newline.
3215         * src/messageview.c: enabled message search also in MIME mode.
3216
3217 2002-03-01
3218
3219         * src/messageview.c: messageview_show(): set header state of
3220           MimeView's TextView, too.
3221         * src/mimeview.c: mimeview_show_message(): call
3222           textview_show_message() to display message.
3223         * src/textview.c: textview_add_part(): new. It adds the content
3224           of message part without clearing the view.
3225           textview_show_message(): display all parts with appropriate
3226           style.
3227           textview_write_body(): separated from textview_show_part().
3228
3229 2002-02-28
3230
3231         * src/mainwindow.c
3232           src/prefs_common.c: added ISO-8859-15 to the codesets for
3233           displaying and sending.
3234         * src/codeconv.c: conv_codeset_strdup(): return NULL if code
3235           conversion failed, and made caller deal with it.
3236         * src/compose.c: compose_write_to_file(): show error dialog when
3237           code conversion failed, and let user select whether to send it
3238           as is or not.
3239         * src/textview.c: textview_write_line(): show the original string
3240           if code conversion failed.
3241
3242 2002-02-27
3243
3244         * src/inc.c: get_spool(): fixed a bug that failed to unlock mbox
3245           if copy_mbox() failed (thanks to Alexander Kabaev).
3246         * src/prefs_account.[ch]: added separate user ID / password setting
3247           for SMTP AUTH.
3248         * src/send.c: send_message_smtp(): use separate user ID / password
3249           for SMTP AUTH if it is specified.
3250
3251 2002-02-26
3252
3253         * src/inc.[ch]
3254           src/pop.[ch]: refactored the UIDL management.
3255           store the information of messages into the array of Pop3MsgInfo
3256           structure, and do full scanning of not retrieved messages.
3257
3258 2002-02-26
3259
3260         * src/filesel.c
3261           src/foldersel.c
3262           src/mainwindow.c: set WMCLASS for window/dialog.
3263         * src/codeconv.c: conv_codeset_strdup(): return source string
3264           when jconv_alloc_conv() failed.
3265
3266 2002-02-25
3267
3268         * src/mh.c: mh_scan_tree_recursive(): changed the hardcoded directory
3269           name to the macros.
3270
3271 2002-02-24
3272
3273         * src/messageview.c
3274           src/mimeview.[ch]
3275           src/summaryview.c: implemented the new notebook tab interface for
3276           MIME message.
3277         * src/textview.[ch]: fixed line space related glitches.
3278
3279 2002-02-23
3280
3281         * src/prefs_filter.c:
3282           prefs_filter_rename_path()
3283           prefs_filter_delete_path(): fixed a crash when flt->dest was NULL.
3284
3285 2002-02-23
3286
3287         * src/recv.[ch]: cancel data receiving if RecvUIFunc returns FALSE.
3288         * src/pop.c: pop3_retr_recv(): fixed false 'No space' when cancelled
3289           while getting data.
3290         * src/inc.c: inc_pop3_recv_func(): abort data receiving when
3291           cancelled, and fixed potential crash bug.
3292         * src/grouplistdialog.c: enabled cancelling of data receiving.
3293         * src/news.c: news_get_group_list(): destroy current session if
3294           retrieving failed.
3295
3296 2002-02-22
3297
3298         * src/manage_window.[ch]: fixed a bug that caused crash when
3299           the main window was hidden.
3300           MANAGE_WINDOW_SIGNALS_CONNECT(): new macro.
3301           Monitor "unmap_event", "destroy" events.
3302         * src/account.c;
3303           src/addressbook.c
3304           src/compose.c
3305           src/export.c
3306           src/filesel.c
3307           src/foldersel.c
3308           src/grouplistdialog.c
3309           src/import.c
3310           src/inputdialog.c
3311           src/mainwindow.c
3312           src/message_search.c
3313           src/passphrase.c
3314           src/prefs_account.c
3315           src/prefs_common.c
3316           src/prefs_customheader.c
3317           src/prefs_display_header.c
3318           src/prefs_filter.c
3319           src/prefs_template.c
3320           src/summary_search.c
3321           src/summaryview.c: use MANAGE_WINDOW_SIGNALS_CONNECT() macro to
3322           connect signals for window management.
3323
3324 2002-02-21
3325
3326         * src/prefs_account.[ch]: added receive size limit option.
3327         * src/pop.c: skip messages larger than the limit size.
3328           LOOKUP_NEXT_MSG(): new macro.
3329         * src/compose.c: compose_attach_append(): check whether the file
3330           is readable.
3331
3332 2002-02-21
3333
3334         * src/rfc2015.c: commented out dump_mimeinfo() and dump_part().
3335           changed g_message()'s to debug_print() and g_warning().
3336           rfc2015_decrypt_message(): fixed a bug that duplicated message
3337           parts when decryption was failed/cancelled. And made some code
3338           cleanup.
3339         * src/passphrase.c: made the dialog transient.
3340         * src/prefs.c: prefs_config_parse_one_line(): removed debug_print().
3341
3342 2002-02-20
3343
3344         * src/messageview.c
3345           src/procmsg.[ch]: fixed a bug that failed to parse multipart
3346           messages if GPGME was enabled.
3347         * src/rfc2015.c: commented out copy_gpgmedata_to_temp() which
3348           is not used.
3349         * src/prefs_account.c: prefs_account_privacy_create(): modified
3350           the vertical spacing.
3351
3352 2002-02-19
3353
3354         * src/menu.[ch]: menu_set_sensitive_all(): new.
3355           menu_set_insensitive_all(): made it a wrapper for
3356           menu_set_sensitive_all().
3357         * src/prefs_account.c:
3358           prefs_account_open()
3359           prefs_account_protocol_set_optmenu(): made the protocol type
3360           unchangeable after creating an account.
3361         * src/compose.c: compose_attach_parts(): traverse MIME tree to
3362           extract all attathed files from nested multipart MIME message.
3363
3364 2002-02-19
3365
3366         * src/procmsg.[ch]: procmsg_get_mark_sum(): added arguments to
3367           obtain minimum/maximum number, and to specify first number
3368           limit.
3369         * src/folderview.c
3370           src/inc.c: enabled new message checking on news folder.
3371         * src/news.c: news_scan_group(): implemented. Guess new/unread
3372           message number from the response of GROUP command and the mark
3373           data.
3374           news_select_group(): return the total/first/last number.
3375         * src/prefs_account.c: prefs_account_receive_create(): modified
3376           the text of the 'Get all' check button.
3377
3378 2002-02-18
3379
3380         * src/account.c: made 'Get all' checkbox available for IMAP4 and
3381           NNTP accounts.
3382         * src/inc.c: corrected the argument of folderview_check_new().
3383         * src/prefs_account.c: modification for the "`Get all' checks for
3384           new mail on this account" checkbox.
3385
3386 2002-02-18
3387
3388         * src/folderview.[ch]:
3389           folderview_rescan_tree(), folderview_rescan_all(): renamed from
3390           folderview_update_tree() and folderview_update_all().
3391           folderview_update_all_node(): removed.
3392           folderview_check_new(): new. If the argument is NULL, it checks
3393           all local folders. If the arguments is specified, it checks
3394           the (local and remote) folder.
3395         * src/inc.c:
3396           inc_account_mail()
3397           inc_all_account_mail(): check also IMAP4 account.
3398
3399 2002-02-18
3400
3401         * src/folderview.c:
3402           folderview_rename_folder_cb()
3403           folderview_delete_folder_cb(): modify the filter rules when folder
3404           is renamed/deleted.
3405         * src/prefs_filter.[ch]:
3406           prefs_filter_rename_path(): new. It renames the destination paths
3407           in the filter list.
3408           prefs_filter_delete_path(): new. It deletes the filter rules if
3409           the destination paths matched.
3410         * thanks to Neill Miller for above.
3411
3412 2002-02-17
3413
3414         * src/compose.c: inherit attached files when forwarding or reediting
3415           (rewrote the code in claws branch).
3416           compose_attach_parts(): new. It extracts and attaches the files
3417           in the given message.
3418           compose_attach_append(): chnaged the types of arguments.
3419         * src/messageview.c: messageview_show(): moved the GPG decryption
3420           code to procmsg.c.
3421         * src/procmsg.[ch]: procmsg_open_message_decrypted(): new.
3422
3423 2002-02-16
3424
3425         * version 0.7.2
3426
3427 2002-02-16
3428
3429         * src/summary_search(): summary_search_execute(): scroll the view
3430           when message view is hidden.
3431
3432 2002-02-15
3433
3434         * src/foldersel.c: foldersel_set_tree(): made different type of
3435           folders selectable in moving mode.
3436         * src/folderview.[ch]: folderview_update_msg_num(): compare the
3437           numbers with the CTree's labels, and don't update folder_item here.
3438         * src/imap.c: imap_move_msg(), imap_move_msgs_with_dest():
3439           implemented moving between different type of folders.
3440         * src/mh.c: SET_DEST_MSG_FLAGS(): new macro.
3441           mh_do_move(), mh_do_move_msgs_with_dest(): new (renamed previous
3442           mh_move_msg() and mh_move_msgs_with_dest()).
3443           mh_move_msg(), mh_move_msgs_with_dest(): implemented message
3444           moving between different type of folders.
3445           mh_copy_msg(), mh_copy_msgs_with_dest(): some code cleanups.
3446         * src/summaryview.c: summary_status_show(): update folder_item
3447           here.
3448         * po/POTFILES.in: removed reference to headerwindow.c.
3449         * src/summaryview.c: summary_step(): fixed the behavior on the
3450           head and tail of the list.
3451
3452 2002-02-15
3453
3454         * src/mainwindow.c: main_window_set_menu_sensitive(): set 'Show
3455           all header' toggle state from the property of the TextView.
3456         * src/summaryview.[ch]: made 'All header' toggle switch.
3457           Prohibited unnecessary menu update.
3458           summary_select_node(): added the argument 'do_refresh'.
3459           Some code cleanups.
3460
3461 2002-02-14
3462
3463         * src/utils.c: strsplit_with_quote(): remove quotation characters
3464           in the function (fix composer's external editor problem) (thanks
3465           to Stefaan A Eeckels).
3466         * src/mainwindow.[ch]: made 'Show all header' toggle switch.
3467           main_window_menu_callback_block()
3468           main_window_menu_callback_unblock(): new.
3469           main_window_set_menu_sensitive(): set the toggle status of
3470           menu items.
3471           show_all_header_cb(): read the status of toggle menu item.
3472         * src/mainwindow.[ch]: made 'Thread view' toggle switch.
3473         * src/prefs_common.c: prefs_keybind_apply_clicked(): removed
3474           'Unthread view'.
3475
3476 2002-02-13
3477
3478         * src/imap.c: imap_add_msg(): fixed a bug that didn't replace
3479           the path separator (thanks to Sergey Vlasov).
3480         * src/gtkutils.c: gtkut_editable_get_selection(): return NULL
3481           if the length of selection is zero.
3482           Fixed the assertion.
3483         * src/utils.c: str_open_as_stream(): return immediately if
3484           the length of str is zero.
3485         * src/headerwindow.[ch]: removed.
3486         * src/socket.[ch]
3487           src/inc.c: removed stale thread support codes.
3488
3489 2002-02-12
3490
3491         * src/procmsg.c: procmsg_open_message(): modified so that it
3492           returns the stream of decrypted message file if it exists
3493           (this fixes the failure of gpg decryption in messageview.c).
3494
3495 2002-02-11
3496
3497         * version 0.7.1
3498
3499 2002-02-11
3500
3501         * src/compose.[ch]
3502           src/gtkutils.[ch]
3503           src/prefs_template.c
3504           src/quote_fmt.h
3505           src/quote_fmt_parse.y
3506           src/summaryview.c
3507           src/utils.[ch]: if the part of the message text is selected, use
3508           it for quoted text instead of the entire message body (thanks to
3509           Darko Koruga).
3510           src/utils.[ch]: str_open_as_stream(): new. It returns an
3511           temporary stream for the given string.
3512         * src/main.c: added "--send" command line option.
3513         * src/compose.c: compose_reply_set_entry(): add From address to
3514           Cc if Reply-To and to_all are both specified.
3515         * Makefile.am: correct the Source: line in the RPM spec file in
3516           .tar.bz2 package.
3517
3518 2002-02-07
3519
3520         * src/procmsg.c: procmsg_open_message(): fetch message if the cache
3521           doesn't exist.
3522         * src/foldersel.[ch]: foldersel_folder_sel(): added an argument
3523           that specifies the folder selection type.
3524         * src/addressbook.c
3525           src/compose.c
3526           src/editaddress.c
3527           src/editgroup.c
3528           src/folderview.c
3529           src/importldif.c
3530           src/mainwindow.c
3531           src/md5.c
3532           src/mimeview.c
3533           src/prefs_common.c
3534           src/prefs_customheader.c
3535           src/prefs_filter.c
3536           src/summaryview.c: made it compile with C compilers other than gcc
3537           (thanks to Shawn Houston).
3538
3539 2002-02-06
3540
3541         * src/imap.c: imap_copy_msgs_with_dest(): fixed a bug on traversing
3542           list.
3543         * src/prefs_common.c: made the key binding setting separate dialog.
3544         * src/addressbook.c: addressbook_format_address(): add "" around
3545           the display name if it contains comma (thanks to Satoshi Watanabe).
3546         * src/addr_compl.c: get_complete_address(): add "" around the
3547           display name if it contains comma.
3548           get_address_from_edit(): handle the quotation character correctly.
3549         * src/addr_compl.c: get_complete_address()
3550           src/addressbook.c: addressbook_format_address(): fixed a bug that
3551           caused wrong text processing if the display name is empty.
3552         * updated NEWS.
3553
3554 2002-02-05
3555
3556         * src/compose.c: compose_exec_ext_editor_real(): replaced
3557           g_strsplit() with strsplit_with_quote().
3558         * src/foldersel.c
3559           src/folderview.c: folderview_drag_motion_cb(): minor code cleanups.
3560         * src/folderview.c:
3561           folderview_drag_motion_cb()
3562           folderview_drag_received_cb(): allow dropping into IMAP4 folder.
3563         * src/utils.c: get_file_size_as_crlf(): use fgets() instead of
3564           fread().
3565         * src/imap.c
3566           imap_copy_msg()
3567           imap_copy_msgs_with_dest(): use imap_add_msg() if the source
3568           of the message is different from the current mailbox.
3569           Return the correct value.
3570           imap_cmd_append(): properly implemented the APPEND command.
3571
3572 2002-02-04
3573
3574         * src/mainwindow.c
3575           src/messageview.[ch]
3576           src/summaryview.[ch]
3577           src/textview.[ch]: show all headers in the message view, and don't
3578           use the header window anymore.
3579         * src/mainwindow.c
3580           src/prefs_common.c: changed the default shortcut of 'compose new
3581           message'.
3582         * src/mainwindow.c
3583           src/summaryview.[ch]: summary_display_msg_selected(): new.
3584           Show the selected message if 'Show all header' is selected.
3585         * src/mh.c
3586           src/sourcewindow.c: changed some procmsg_get_message_file_path()
3587           to procmsg_get_message_file() to be sure the message is
3588           retrieved.
3589         * src/folderview.c: folderview_drag_motion_cb(): allow DnD from
3590           any folder to MH folder.
3591           folderview_drag_received_cb(): copy messages instead of moving
3592           if the source folder is news or IMAP.
3593         * src/mainwindow.c
3594           src/summaryview.c: allow copy from news folder.
3595
3596 2002-02-03
3597
3598         * src/prefs_common.c: prefs_other_create(): modified the design
3599           of the external command settings.
3600           prefs_keybind_apply_clicked(): made the Mew / Wanderlust keybind
3601           preset closer to the original.
3602           Added Mutt keybind preset.
3603           Also change the compose keybinds.
3604         * src/compose.c: modified some menu shortcuts.
3605         * src/codeconv.c: modified the locale_table for Thai encoding.
3606
3607 2002-02-01
3608
3609         * src/Makefile.am: added $(GPGME_CFLAGS) to INCLUDES.
3610         * src/prefs_common.c: prefs_interface_create(): modified the
3611           description for menu shortcut.
3612
3613 2002-01-31
3614
3615         * src/gtkutils.[ch]: added gtk_stext_clear().
3616         * src/compose.[ch]
3617           src/mainwindow.c
3618           src/summaryview.[ch]: enabled multiple forwarding.
3619         * src/summaryview.c:
3620           summary_set_marks_selected(): set marks for all selected row.
3621           summary_reply(): moved from summary_reply_cb().
3622         * compose.[ch]: compose_forward(): modified so that it receives
3623           the message list.
3624         * src/mainwindow.c: cleanup for reply processing.
3625         * src/summaryview.c: summary_reply(): fixed a memory leak.
3626           summary_key_pressed(): removed hardcoded mark / mark as unread
3627           shortcuts.
3628         * src/mainwindow.c
3629           src/prefs_common.c: added mark / mark as unread shortcuts to
3630           the menu.
3631
3632 2002-01-30
3633
3634         * src/compose.c: compose_wrap_line_all(): wrap quoted part even
3635           if prefs_common.linewrap_quote is not set (it is only for
3636           auto-wrapping on reply).
3637         * src/prefs_account.c: prefs_account_open(): initialize tmp_ac_prefs
3638           when creating a new account.
3639         * src/mh.c: mh_get_msg_list(): use also st_ctime to detect
3640           directory change.
3641         * src/prefs_common.c: prefs_interface_create(): modified the
3642           description of key binds selector.
3643
3644 2002-01-29
3645
3646         * src/mimeview.c: fixed multiple dialog / moving by correcting
3647           button / key event processing.
3648         * src/mimeview.[ch]
3649           src/textview.c: pass some key press events to MimeView in MIME
3650           mode.
3651         * src/prefs_filter.c: fixed a bug that didn't set the order of
3652           rules correctly.
3653         * src/prefs_common.c: prefs_keybind_apply_clicked(): fixed
3654           empty_menurc string.
3655
3656 2002-01-28
3657
3658         * src/mainwindow.c
3659           src/prefs_common.c: reorganized the menu shortcuts.
3660           Added 'View - Toggle summary view'.
3661         * src/summaryview.[ch]: summary_toggle_view(): made it public
3662           function.
3663         * src/prefs_common.[ch]: swapped the position of 'Shortcut key'
3664           and 'On exit'.
3665         * src/importldif.c: imp_ldif_delete_event(): fixed segfault when
3666           closing the dialog with window manager (in more appropriate way).
3667         * src/imageview.[ch]
3668           src/messageview.c
3669           src/mimeview.c: fixed wrong scrolling position when switching
3670           between text and image parts. Also free the unrequired image
3671           (thanks to Sergey Vlasov).
3672         * src/prefs_common.c: disabled 'Go to inbox after receiving new mail'
3673           by default.
3674
3675 2002-01-28
3676
3677         * src/prefs_common.c: implemented shortcut quick changer.
3678         * src/folderview.c: folderview_key_pressed()
3679           src/summaryview.c: summary_key_pressed(): removed some hardcoded
3680           key binds.
3681
3682 2002-01-25
3683
3684         * src/procmime.c:
3685           procmime_get_mime_type()
3686           procmime_get_mime_type_table(): made the MIME type search case
3687           insensitive.
3688         * src/gtkstext.c:
3689           gtk_stext_delete_line(): delete newline on empty line.
3690           gtk_stext_delete_to_line_end(): delete newline if cursor is on
3691           the last of line.
3692           (thanks to Yasuzaki Masayoshi.)
3693
3694 2002-01-23
3695
3696         * src/compose.c
3697           src/gtkstext.[ch]: removed the hardcoded shortcuts in GtkSText,
3698           and made them customizable.
3699         * src/utils.[ch]: added get_file_size_as_crlf() which returns
3700           the file size when converting LF to CR+LF.
3701
3702 2002-01-22
3703
3704         * src/compose.c: enabled 'Ctrl-Enter' or
3705           'Ctrl-(other modifier keys)-Enter' shortcut that didn't work
3706           before.
3707         * src/gtkstext.c: disabled some Emacs key bindings.
3708           gtk_stext_key_press(): don't extend selection when Shift-Enter
3709           is pressed to prevent the disapperance of cursor.
3710         * src/summaryview.c: summary_select_next_unread(): added the button
3711           to search unread message again from the beginning to the dialog.
3712         * src/folderview.c: folderview_key_pressed(): go to next unread
3713           folder if space key is pressed on the empty folder.
3714           Move CTree focus before selecting row.
3715
3716 2002-01-21
3717
3718         * src/defs.h: modified the XLFD of default fonts.
3719         * src/textview.c: textview_create(): fixed a bug that caused
3720           segfault if font couldn't be loaded.
3721         * src/folderview.c
3722           src/grouplistdialog.c: compare subscribed groups with path.
3723         * src/prefs_filter.c: changed 'Operator' to 'Condition'.
3724
3725 2002-01-20
3726
3727         * src/compose.c: compose_wrap_line_all(): fixed wrapping crash
3728           when URL is wider than wrapping margin.
3729         * src/mainwindow.c
3730           src/prefs_filter.[ch]
3731           src/summaryview.[ch]: added "Create filter rule" function based
3732           on the patch from Luca Rosellini.
3733         * src/summaryview.c: summary_filter_open(): added X-List and
3734           X-Mailing-list to the automatically detected headers.
3735
3736 2002-01-18
3737
3738         * configure.in: support Mac OS X (Darwin).
3739
3740 2002-01-16
3741
3742         * src/prefs_filter.c: use inc_(un)lock() instead of
3743           inc_autocheck_timer_{remove|set}().
3744         * src/summaryview.c: summary_sort(): use gtk_ctree_sort_recursive()
3745           instead of gtk_ctree_sort_node() so that messages within threads
3746           are also sorted.
3747         * src/procmsg.c: procmsg_read_mark_file(): fixed a bug that the
3748           target of sizeof was wrong and caused crash on Alpha architecture
3749           (thanks to Motonobu Ichimura).
3750
3751 2002-01-15
3752
3753         * src/foldersel.c:
3754           foldersel_gnode_func(): made the names of special folders
3755           translated strings.
3756           foldersel_set_tree(): move the special folder to the top.
3757         * src/inputdialog.[ch]: input_dialog_query_password(): new.
3758         * src/imap.c
3759           src/inc.c
3760           src/news.c
3761           src/send.c: use input_dialog_query_password() instead of their
3762           own query functions.
3763
3764 2002-01-14
3765
3766         * src/defs.h: modified the default font.
3767         * src/folder.[ch]
3768           src/mh.[ch]
3769           src/imap.[ch]
3770           src/news.[ch]: moved the class definition and some methods to
3771           the proper location.
3772
3773 2002-01-11
3774
3775         * src/mimeview.c: mimeview_save_as()
3776           src/summaryview.c: summary_save_as(): put the default filename
3777           based on the subject.
3778         * src/utils.[ch]: added subst_chars() and subst_for_filename()
3779           which substitute some special characters with underscore.
3780         * src/filesel.c: filesel_select_file(): select the default filename.
3781
3782 2002-01-10
3783
3784         * INSTALL
3785           INSTALL.jp: added the description and the URL for libjconv.
3786         * src/mainwindow.c: menu entries cleanup.
3787
3788 2002-01-09
3789
3790         * README
3791           README.jp
3792           src/about.c: modified the copyright year.
3793         * src/gtkstext.h: added the notice for modification by the Sylpheed
3794           Team.
3795
3796 2002-01-08
3797
3798         * INSTALL
3799           INSTALL.jp: added the URL for compface.
3800
3801 2002-01-07
3802
3803         * version 0.7.0
3804
3805 2002-01-07
3806
3807         * src/headerwindow.c
3808           src/logwindow.c
3809           src/messageview.c
3810           src/sourcewindow.c: set wmclass when creating windows.
3811
3812 2002-01-04
3813
3814         * src/compose.c: compose_wrap_line_all(): fixed the bug that
3815           caused infinite loop when wrapping certain patterns of quoted text.
3816
3817 2002-01-02
3818
3819         * src/imap.c: imap_parse_envelope(): put the assertion after
3820           imap_parse_address() to prevent segmentation fault.
3821
3822 2001-12-31
3823
3824         * src/folderview.c
3825           src/mainwindow.c: modified some labels of menu items.
3826         * src/ldif.c: put the return value of fgetc() in a gint.
3827         * src/importldif.c: don't brace null strings with _().
3828         * src/compose.c: moved the position of Subject entry to the last.
3829           Reorganized the menu.
3830           compose_draft_cb(): added 'keep editing after saving to draft'
3831           feature.
3832
3833 2001-12-30
3834
3835         * src/mainwindow.c: reorganization of main menu. Removed 'Summary'
3836           menu. Moved 'Help' menu to just the right of 'Configuration'.
3837           Removed 'File - Close' menu item.
3838
3839 2001-12-25
3840
3841         * src/mainwindow.c: some menu reorganization.
3842         * AUTHORS: updated. Added more contributors.
3843         * src/account.c: account_row_moved(): new. Moves displayed row to
3844           the appropriate position when up / down button are pressed.
3845           account_clist_set(): move displayed row to the appropriate position.
3846         * src/compose.c
3847           src/mainwindow.c: set title and wmclass when creating windows.
3848
3849 2001-12-24
3850
3851         * src/gtkstext.c: fixed a bug that didn't show block cursor
3852           correctly. Removed unnecessary GdkGC copy. Fixed cursor
3853           coordinate.
3854         * src/compose.c
3855           src/gtkutils.[ch]
3856           src/textview.[ch]
3857           src/undo.c: modified to use GtkSText.
3858         * src/menu.h: added #include <gtk/gtkmenu.h>.
3859
3860 2001-12-23
3861
3862         * acconfig.h
3863           configure.in: added XIM checking for GTK+.
3864         * src/gtkstext.[ch]: new. Copied GtkText in GTK+ and renamed.
3865
3866 2001-12-22
3867
3868         * src/filter.c: added #include <sys/types.h>.
3869
3870 2001-12-21
3871
3872         * src/template.c: template_write_config(): fixed a typo.
3873         * src/compose.c: toolbar_linewrap_cb(): call compose_wrap_line_all().
3874         * src/filter.[ch]
3875           src/prefs_filter.c: supported regular expression (thanks to
3876           Yukihiro Nakai).
3877         * src/undo.c: undo_paste_clipboard_cb(): fixed a bug that broke
3878           undo state when pasted clipboard was empty.
3879           undo_check_size(): use g_list_last().
3880           undo_undo()
3881           undo_redo(): fixed NULL checking and made a bit of optimization.
3882           Some code cleanups.
3883         * src/prefs_common.c: changed the default value of linewrap length
3884           to 72.
3885
3886 2001-12-20
3887
3888         * reorganization of pixmap management.
3889         * src/stock_pixmap.[ch]: new. This module manages all static pixmaps.
3890         * modified every files which directly use pixmaps data to use
3891           stock_pixmap_*().
3892         * src/undo.[ch]: renamed undo_set_undo_change_funct() to
3893           undo_set_change_state_func(), and changed its argument from
3894           GtkWidget* to gpointer.
3895           undo_merge(): code cleanup.
3896         * src/compose.c: renamed compose_set_undo() to
3897           compose_undo_state_changed().
3898
3899 2001-12-19
3900
3901         * src/account.c: account_find_from_address(): made it case
3902           insensitive.
3903         * src/addressbook.c: addressbook_create(): set wmclass.
3904         * src/compose.c: compose_insert_file(): supported DOS/Win/Mac line
3905           break.
3906         * src/importldif.c
3907           src/ldif.[ch]: merged from the claws branch.
3908         * src/importldif.c: removed some warnings.
3909           imp_ldif_field_list_toggle(): fixed button checking.
3910           imp_ldif_dialog_create(): minor layout fix.
3911         * src/ldif.c: removed some warnings.
3912         * INSTALL
3913           INSTALL.jp: updated confirmation list.
3914         * src/vcard.c:
3915           vcard_read_file()
3916           vcard_test_read_file(): fixed a memory leak of tagtemp.
3917           Some code cleanups (decreasing the indent level).
3918         * src/addrindex.c
3919           src/jpilot.[ch]
3920           src/syldap.[ch]: disabled runtime library checking because JPilot
3921           and LDAP libraries are linked on the build time, and the program
3922           doesn't execute without them anyway.
3923         * src/addressbook.c
3924           src/addrindex.c: changed "J-Pilot" to "JPilot".
3925           Removed warning for atoi().
3926
3927 2001-12-18
3928
3929         * src/procmsg.c: procmsg_empty_trash()
3930           src/mainwindow.c: main_window_empty_trash(): empty trash only if
3931           it contains some messages.
3932         * src/imap.c: search_array_str(): new.
3933           imap_status(): fixed a bug that didn't parse the command response
3934           correctly.
3935
3936 2001-12-18
3937
3938         * merged undo function (by Jens Oberender).
3939         * src/undo.[ch]: new.
3940           undo_insert_text_cb(): fix for multibyte characters (obtain the
3941           number of letters instead of bytes).
3942         * src/compose.[ch]: added the code for undo.
3943         * src/prefs_common.[ch]: added the interface for setting undo level.
3944
3945 2001-12-16
3946
3947         * src/compose.c: compose_template_apply()
3948           src/prefs_template.c: prefs_template_clist_set_row()
3949           src/template.c: template_write_config(): don't replace To: and
3950           Subject: entry in composition window if they are empty.
3951
3952 2001-12-16
3953
3954         * version 0.6.6
3955
3956 2001-12-15
3957
3958         * src/folderview.c: folderview_drag_motion_cb(): fixed a DnD bug.
3959         * src/ldif.c: ldif_get_line(): ignore CR.
3960         * src/mimeview.c: mimeview_show_message(): search also text/html
3961           for first text part.
3962
3963 2001-12-14
3964
3965         * src/prefs_account.c: prefs_account_save_config_all(): fixed a bug
3966           that didn't update accountrc if account_list == NULL (thanks to
3967           Watanabe).
3968
3969 2001-12-14
3970
3971         * src/utils.h: added the macro Xstrcat_a() that concatenates
3972           two strings and return alloca'd string.
3973         * src/imap.c: imap_scan_tree_recursive(): fixed a bug that didn't
3974           handle folder name which includes some spaces correctly
3975           (based on the patch from Willem van Engen (thanks!)).
3976         * src/compose.c: compose_wrap_line_all(): fixed the crash when
3977           wrapping long lines if linewrap quotation is disabled and
3978           a word spanning more than one line.
3979
3980 2001-12-14
3981
3982         * applied the Tobias' patch with modification (thanks!).
3983         * src/imap.[ch]:
3984           imap_msg_set_perm_flags()
3985           imap_msg_unset_perm_flags(): new. They set permanent flags to
3986           a IMAP message.
3987         * src/compose.c
3988           src/summaryview.c: set flags on IMAP server when flags are changed.
3989
3990 2001-12-11
3991
3992         * src/gtkutils.[ch]: gtkut_container_remove(): new. It's a wrapper
3993           of gtk_container_remove() for workaround of a bug in
3994           Gtk{Text,Entry} (thanks to Sergey Vlasov).
3995         * src/compose.c
3996           src/mainwindow.c
3997           src/messageview.c
3998           src/mimeview.c
3999           src/summaryview.c
4000           src/textview.c: replaced gtk_container_remove() with
4001           gtkut_container_remove(), and removed previous partial fix.
4002
4003 2001-12-09
4004
4005         * src/prefs_account.c: prefs_account_apply(): fixed a bug that
4006           checked user ID on "local", but didn't on IMAP4.
4007         * src/imap.c: imap_session_get(): fixed a crash bug when
4008           rfolder->session == NULL.
4009         * Makefile.am: changed the arguments of tar from 'chojf' to
4010           '--bzip2 -chof'.
4011         * src/summaryview.c: summary_toggle_view(): disclaim the selection
4012           of textview before removing vpaned.
4013
4014 2001-12-08
4015
4016         * src/messageview.c: messageview_change_view_type(): disclaim the
4017           selection before removing textview. This solves the mysterious
4018           copy-paste disability (thanks to Melvin Hadasht).
4019         * src/textview.c: textview_set_font(): use
4020           gtk_editable_claim_selection() instead of
4021           gtk_editable_select_region().
4022
4023 2001-12-06
4024
4025         * src/prefs_template.c: prefs_template_window_create(): supported
4026           address completion on the To: entry.
4027
4028 2001-12-04
4029
4030         * src/folder.c:
4031           folder_count_total_msgs()
4032           folder_count_total_msgs_func(): use g_node_traverse() to traverse
4033           GNode.
4034
4035 2001-12-03
4036
4037         * src/compose.c: fixed a bug that empty body was refused.
4038         * src/prefs_template.c: fixed a bug that didn't set To: entry
4039           correctly. Display error dialog if format is illegal.
4040         * src/prefs_common.c
4041           src/quote_fmt_lex.l
4042           src/quote_fmt_parse.y: changed parenthesis "( )" to curly braces
4043           "{ }" to prevent confusion on using parenthesis.
4044         * src/html.c: html_get_parenthesis(): ignore CSS / script stuff.
4045
4046 2001-11-29
4047
4048         * src/prefs_template.c: added colon to the header labels.
4049
4050 2001-11-28
4051
4052         * src/compose.c
4053           src/prefs_template.c
4054           src/template.[ch]: added To field to the template.
4055
4056 2001-11-27
4057
4058         * src/textview.c: textview_show_part(): use first found
4059           message/rfc822 header.
4060         * src/folderview.c: added "Search messages..." to the context menu.
4061         * src/prefs_common.c: prefs_quote_description_create(): added
4062           description for characters which need to be escaped.
4063
4064 2001-11-26
4065
4066         * src/compose.c: compose_wrap_line_all(): more merging from claws.
4067           GET_CHAR(): renamed GET_TEXT() and made it more generic.
4068           Modified compose_wrap_line() and compose_wrap_line_all() to use
4069           GET_CHAR().
4070         * src/textview.c: textview_show_part(): show the header of nested
4071           RFC822 attachment correctly.
4072
4073 2001-11-25
4074
4075         * src/folder.[ch]
4076           src/main.c: added --status option to get new, unread and total
4077           message count from a running Sylpheed (merged from claws).
4078           prohibit_duplicate_launch(): output '\n' only once.
4079
4080 2001-11-23
4081
4082         * src/compose.c
4083           src/gtkutils.[ch]: merged the new wrapping function.
4084           gtkut_text_str_compare_n()
4085           gtkut_text_str_compare()
4086           gtkut_text_is_uri_string(): backport from the GtkSText in the
4087           claws branch, and made modification.
4088         * src/prefs_template.c
4089           src/template.[ch]: added Subject to the template.
4090
4091 2001-11-22
4092
4093         * src/compose.c: compose_write_headers(): added missing parenthesis
4094           that generated invalid custom header (thanks to Masaaki Noro).
4095           Allow Sender: custom header.
4096
4097 2001-11-20
4098
4099         * src/procheader.c: procheader_date_parse(): workaround for
4100           RFC-incompliant Date header.
4101
4102 2001-11-20
4103
4104         * src/addrbook.c: removed redundant functions, and fixed generation
4105           of spurious address book file names.
4106         * src/addrindex.c: V-Card -> vCard.
4107
4108 2001-11-19
4109
4110         * src/textview.c: get_email_part(): replaced isalnum() with
4111           the macro IS_ASCII_ALNUM() which restricts the range of
4112           characters to 7bit ASCII (thanks to Shimamoto).
4113         * src/utils.c: remote_tzoffset_sec(): workaround for malformed
4114           timezone offset.
4115
4116 2001-11-18
4117
4118         * src/textview.c: textview_show_part(): show headers on nested
4119           muitipart text.
4120
4121 2001-11-17
4122
4123         * src/imap.c: imap_session_get()
4124           src/news.c: news_session_get(): fixed segfault when reconnection
4125           failed.
4126         * src/grouplistdialog.c: removed redundant code, and expand nodes
4127           that doesn't match the pattern.
4128
4129 2001-11-16
4130
4131         * src/compose.c: modified so that it sends message when any of
4132           To:, Cc:, Bcc:, or Newsgroups: fields have valid recipient.
4133           compose_check_for_valid_recipient(): new.
4134         * src/grouplistdialog.c: improved the UI.
4135           Added appropriate description and search button.
4136           Search doesn't get group list again.
4137
4138 2001-11-15
4139
4140         * src/news.[ch]: news_session_get(): update the last access time
4141           correctly.
4142           news_group_list_free(): new.
4143         * src/grouplistdialog.c: free resources correctly.
4144
4145 2001-11-15
4146
4147         * src/folderview.c
4148           src/grouplistdialog.[ch]: more merging of new newsgroup
4149           subscription dialog.
4150         * src/news.[ch]: renamed news_remove_group_list() to
4151           news_remove_group_list_cache().
4152
4153 2001-11-14
4154
4155         * src/defs.h: added MAX_ENTRY_LENGTH definition.
4156         * src/compose.c: compose_add_entry_field(): create new entry with
4157           max length.
4158
4159 2001-11-13
4160
4161         * src/grouplistdialog.c: made non-leaf node selectable.
4162           Give the complete newsgroup name for each nodes.
4163
4164 2001-11-13
4165
4166         * src/grouplistdialog.c
4167           src/news.[ch]: merging of new newsgroup subscription dialog
4168           (still in progress. Don't use it yet!).
4169
4170 2001-11-12
4171
4172         * src/utils.[ch]: decode_uri(): new. It decodes URL-encoded strings.
4173         * src/compose.[ch]: compose_new_with_recipient(): accept mailto
4174           URL.
4175           compose_entries_set(): new. It parses mailto URL and put each
4176           values into the entries.
4177
4178 2001-11-12
4179
4180         * src/compose.c: compose_forward(): fixed a bug that forward
4181           quote mark wasn't used (thanks to Hironori IWANE).
4182         * src/codeconv.[ch]
4183           src/mainwindow.c
4184           src/prefs_common.c: added Thai encodings (thanks to Manrat
4185           Chobchuen).
4186
4187 2001-11-08
4188
4189         * src/socket.c: sock_connect_by_hostname(): removed h_errno.
4190         * src/session.h
4191           src/defs.h
4192           src/imap.[ch]
4193           src/news.c: added last_access_time to Session.
4194           imap_session_get(): check connection only when access interval
4195           has been exceeded.
4196
4197 2001-11-07
4198
4199         * version 0.6.5
4200
4201 2001-11-07
4202
4203         * src/socket.c: ssl_gets(): use SSL_peek.
4204         * updated NEWS and AUTHORS.
4205         * Makefile.am: fixed release target.
4206
4207 2001-11-06
4208
4209         * src/template.c: changed the format of template file to
4210           RFC2822-like.
4211         * src/compose.c: compose_template_apply(): freeze the text widget
4212           while inserting strings.
4213
4214 2001-11-05
4215
4216         * po/POTFILES.in: removed src/template_select.c.
4217         * src/summaryview.c: summary_set_header()
4218           src/address.c: address_parse_str()
4219           src/filter.c: filter_read_str()
4220           src/news.c: news_parse_xover()
4221           src/procheader.c: procheader_get_fromname()
4222           src/utils.c: subject_compare():
4223           replaced Xalloca() + strcpy() with Xstrdup_a().
4224         * src/inputdialog.[ch]: added combo mode.
4225           input_dialog_combo(): new.
4226         * src/prefs_common.[ch]: added MIME open command setting.
4227           prefs_common_{read, save}_config(): read / write command history.
4228         * src/mimeview.c: mimeview_open_with(): use combo input dialog.
4229         * src/utils.[ch]: add_history(): history list management function.
4230
4231 2001-11-04
4232
4233         * src/compose.c: select templates from the menu.
4234           compose_set_template_menu(): new.
4235           compose_reflect_prefs_all(): new.
4236           compose_template_apply(): new. Use dummy MsgInfo for parsing.
4237         * src/template.[ch]: store template list to the static heap.
4238           template_get_config(): new.
4239           template_set_config(): new.
4240         * src/prefs_template.c: don't store template list to the global area.
4241         * src/template_select.[ch]: removed.
4242         * src/quote_fmt_parse.y: check folderitem when quoting messages.
4243         * src/mh.c: mh_add_msg(): try to copy file whenever link() failed
4244           (thanks to OSHIRO Naoki).
4245
4246 2001-11-03
4247
4248         * src/utils.[ch]: get_template_dir(): new.
4249         * src/template.c: use get_template_dir().
4250
4251 2001-11-02
4252
4253         * src/prefs_template.c: modified the dialog layout.
4254           Added symbol description button.
4255         * src/summaryview.c: show an arrow mark to the column of the sort
4256           target.
4257           summary_set_column_titles(): new.
4258         * INSTALL
4259           INSTALL.jp
4260           README
4261           README.jp
4262           TODO
4263           TODO.jp: updated the documents.
4264
4265 2001-11-02
4266
4267         * src/Makefile.am: add missing checkbox_{on, off}.xpm.
4268         * src/textview.c: textview_key_pressed()
4269           src/mimeview.c: mimeview_key_pressed()
4270           src/summaryview.c: summary_key_pressed(): delete messages with
4271           Delete key.
4272
4273 2001-11-01
4274
4275         * src/socket.c: ssl_gets(): fixed a bug that caused infinite loop
4276           when SSL_read() returned 0.
4277         * src/utils.[ch]: strcrchomp(): new. It removes CR from the tail
4278           of strings.
4279         * src/quote_fmt_parse.y: convert CRLF to LF when inserting messages.
4280           Add prototype of yylex() to suppress the warning.
4281         * merged the template function.
4282         * src/prefs_template.[ch]
4283           src/template.[ch]
4284           src/template_select.[ch]: new.
4285           Renamed prefs_templates_* -> prefs_template_*.
4286         * src/compose.c: added template menu. Added replyinfo to Compose.
4287         * src/mainwindow.c: added template setting menu.
4288         * src/quote_fmt_lex.l: output literal tab and return as is.
4289         * src/prefs_common.c: changed the pref. name of quote format to
4290           'reply_quote_{mark, format}' and 'fw_quote_{mark, format}'.
4291
4292 2001-10-31
4293
4294         * src/prefs_common.[ch]: added Quote tab, and moved the quote
4295           setting from Compose tab.
4296         * merged the new quote format parser.
4297         * src/quote_fmt_lex.h
4298           src/quote_fmt.h
4299           src/quote_fmt_lex.l
4300           src/quote_fmt_parse.y: new files for quote format parser.
4301         * configure.in: added checks for lex and yacc.
4302         * src/compose.c: compose_quote_file(), compose_quote_parse_fmt():
4303           removed.
4304           compose_quote_fmt(): new.
4305         * src/prefs_common.[ch]: added forward format setting to the
4306           Quote tab. Updated the quote description dialog.
4307         * src/quote_fmt_parse.y: fixed bugs that tried to read file even
4308           if they couldn't get text part.
4309
4310 2001-10-31
4311
4312         * src/pixmaps/checkbox_off.xpm
4313           src/pixmaps/checkbox_on.xpm: new.
4314         * src/account.c: display `get all' status with the checkbox pixmaps.
4315
4316 2001-10-30
4317
4318         * src/send.c: code cleanup. Pass account prefs structure instead
4319           of many arguments.
4320           Query password for SMTP AUTH if not specified (thanks to Mio).
4321
4322 2001-10-30
4323
4324         * src/procheader.c: procheader_parse(): fixed a bug that didn't
4325           parse multiple message-id in In-Reply-To: header correctly
4326           (thanks to KAJIWARA).
4327
4328 2001-10-29
4329
4330         * src/account.c: enabled 'Get all' setting by clicking the 'G'
4331           column of account list, and added some description.
4332         * src/prefs_common.c: prefs_send_create(): added a description
4333           for outgoing codeset.
4334
4335 2001-10-28
4336
4337         * src/prefs_account.[ch]: moved inbox entry to the receive tab,
4338           and added select button and short description.
4339         * src/Makefile.am: added SYSCONFDIR to CPPFLAGS.
4340         * src/procmime.c:
4341           procmime_get_mime_type_table()
4342           procmime_get_mime_type_list(): modified so that
4343           $(SYSCONFDIR)/mime.types (or /etc/mime.types if not found) and
4344           $(HOME)/.sylpheed/mime.types are read.
4345
4346 2001-10-27
4347
4348         * src/prefs_account.c: moved the address auto-setting to the compose
4349           tab.
4350           prefs_account_create(): removed gtk_widget_show_all() for proper
4351           window size.
4352         * src/prefs_common.c: changed "Program path" to "Command".
4353
4354 2001-10-26
4355
4356         * src/textview.c: textview_set_font(): support Russian charset
4357           on EUC-JP locale.
4358         * src/summaryview.c: summary_delete(): (hopefully) fixed the crash
4359           bug on deleting.
4360         * prefs_account.c
4361           prefs_common.c
4362           prefs_summary_column.c: minor improvements to the English.
4363         * src/main.c: get_queued_message_num(): don't output the warning
4364           when queueing folder is not found.
4365
4366 2001-10-21
4367
4368         * version 0.6.4
4369
4370 2001-10-21
4371
4372         * src/prefs_summary_column.[ch]:
4373           made prefs_summary_column_get_config() public.
4374         * src/summaryview.c: summary_ctree_create(): some code cleanup.
4375         * configure.in: moved the position of SSL checking after LDAP
4376           for linking problem.
4377
4378 2001-10-21
4379
4380         * src/mainwindow.c
4381           src/summaryview.c: allowed reedit in the outbox.
4382         * src/prefs_summary_column.[ch]: new. UI for setting summary
4383           columns.
4384         * src/mainwindow.[ch]: main_window_set_summary_column(): new.
4385           It calls summary_set_column_order().
4386         * src/summaryview.[ch]:
4387           summary_ctree_create(): new. separated from summary_create().
4388           summary_set_column_order(): new. It destroys the current
4389           CTree and replaces it with the new one.
4390
4391 2001-10-19
4392
4393         * src/smtp.[ch]: smtp_from(): abort if auth failed.
4394         * changed C++-style comments into C-style in some files, and
4395           removed unnecessary commented out codes.
4396         * src/addrcache.[ch]
4397           src/addressbook.c
4398           src/addrindex.[ch]
4399           src/jpilot.[ch]
4400           src/syldap.[ch]: updated the addressbook code, and fixed the
4401           thread bug of LDAP.
4402         * src/ldif.[ch]
4403           src/importldif.[ch]: new.
4404
4405 2001-10-18
4406
4407         * src/about.c: added some items to compiled-in features.
4408         * src/addr_compl.c: changed LOG_MESSAGE to debug_print.
4409         * src/addressbook.c: changed "V-Card" to "vCard".
4410           addressbook_edit_address_cb(): added
4411           invalidate_address_completion() to the point address is changed.
4412         * src/codeconv.c: changed C++-style comments into C-style.
4413
4414 2001-10-17
4415
4416         * src/compose.c: changed "Send" shortcut to Ctrl+Enter.
4417
4418 2001-10-16
4419
4420         * src/inc.c: fixed a bug that crashed sylpheed if Cancel button
4421           was clicked twice.
4422
4423 2001-10-16
4424
4425         * src/procmsg.c: procmsg_get_thread_tree(): complete the unfinished
4426           threads.
4427         * src/summaryview.c:
4428           summary_thread_init(): separated from summary_thread_build(). 
4429           summary_thread_build(): removed the codes for initialization.
4430           summary_set_ctree_from_list(): call summary_thread_init() instead
4431           of summary_thread_build().
4432           summary_filter(): fixed a bug that didn't moved messages despite
4433           of immediate execution setting.
4434
4435 2001-10-14
4436
4437         * src/procmsg.c: procmsg_get_thread_tree(): new. It generates the
4438           reversed thread tree from message list.
4439         * src/summaryview.c: summary_set_ctree_from_list(): prepend the
4440           node to the head instead of appending to the tail. This prevents
4441           the traverse of node list inside of the GtkCTree, and considerably
4442           speeds up the summary display (the order is O(n^2) -> O(n)).
4443
4444 2001-10-12
4445
4446         * src/prefs_common.c
4447           src/summaryview.[ch]: initial modification for reorderable columns.
4448
4449 2001-10-12
4450
4451         * src/procmsg.c: procmsg_get_mark_sum(), mark_sum_func(): fixed a
4452           memory leak.
4453         * src/folderview.c: folderview_button_pressed(): code cleanup, and
4454           turn sensitivity off if main window is locked.
4455         * src/syldap.c: syldap_read_data(): removed unnecessary and
4456           unportable sched_yield().
4457
4458 2001-10-11
4459
4460         * src/folderview.c: renamed "Update folder tree" context menu to
4461           "Rescan folder tree", and made "Update folder tree" only updates
4462           folder status.
4463           folderview_update_all_node(): don't show message dialog.
4464         * src/gtkutils.c: gtkut_widget_get_uposition()
4465           src/mainwindow.c: main_window_popup(): clip the coordinate to
4466           nonnegative value.
4467
4468 2001-10-10
4469
4470         * src/utils.c: to_human_readable(): made a bit of optimization.
4471         * src/summaryview.c: summary_delete(): fixed a focus problem.
4472           summary_find_{prev,next}_msg(): new. They find previous/next
4473           message that is not deleted.
4474         * src/prefs_filter.c: scroll CList automatically if moved row
4475           becomes not fully visible.
4476
4477 2001-10-09
4478
4479         * updated some autotool scripts.
4480         * src/codeconv.c: conv_encode_header(): fixed a bug that caused
4481           infinite loop when failed to convert encoding.
4482         * src/codeconv.[ch]: a fix for older version of libjconv
4483           (jconv_info_get_current_codeset() returned "EUCJP" instead of
4484           "EUC-JP").
4485
4486 2001-10-08
4487
4488         * version 0.6.3
4489
4490 2001-10-08
4491
4492         * src/compose.c: compose_write_to_file()
4493           src/codeconv.c: conv_codeset_strdup(): more workaround for
4494           libjconv problem on C locale.
4495         * src/editldap_basedn.c: fixed segfault when opening dialog.
4496         * src/utils.c: is_next_mbs()
4497           src/compose.c: compose_wrap_line(), compose_wrap_line_all():
4498           changed MB_CUR_MAX to MB_LEN_MAX for compliance to ANSI C.
4499         * configure.in: increased the reqired version of GPGME to 0.2.3.
4500         * src/pop.c: pop3_getauth_user_recv(): fixed a bug that closed
4501           the receive dialog when POP3 server refused normal authentication.
4502
4503 2001-10-07
4504
4505         * src/prefs_common.c: prefs_receive_create(): correction to English.
4506         * src/compose.c: compose_set_ext_editor_sensitive(): fixed a bug
4507           that didn't set the menu sensitivity correctly (thanks to
4508           Melvin Hadasht).
4509         * src/summaryview.c: delete messages permanently if the current
4510           folder is trash and 'delete' operation is executed.
4511           Fixed the bug that didn't select the last row correctly (thanks
4512           to Alfons Hoogervorst).
4513         * src/folder.[ch]: folder_item_remove_msgs(): new. It removes
4514           all messages given in the list.
4515
4516 2001-10-05
4517
4518         * src/summaryview.c: summary_show(): fixed a bug that didn't show
4519           message even if the 'open unread message on entering folder'
4520           option was turned on.
4521
4522 2001-10-03
4523
4524         * src/procmime.c: procmime_get_text_content(): supported HTML.
4525
4526 2001-10-02
4527
4528         * src/summaryview.[ch]: implemented new locking mechanism, and
4529           replaced every static locks with summary_lock(), summary_unlock(),
4530           and added locks to some extra functions.
4531           This fixes a bug that caused segfault when 'd' (delete) key
4532           was kept pressing.
4533
4534 2001-10-01
4535
4536         * src/addressbook.c: addressbook_folder_load_person(): fixed a bug
4537           that caused segfault (thanks to Stefaan A Eeckels).
4538
4539 2001-09-30
4540
4541         * src/textview.[ch]: added textview_set_position().
4542         * src/messageview.[ch]: added messageview_set_position().
4543         * src/addrbook.c
4544           src/addrcache.c
4545           src/addressadd.c
4546           src/addressbook.c
4547           src/addrindex.c
4548           src/addritem.c
4549           src/editaddress.c
4550           src/editbook.c
4551           src/editgroup.c
4552           src/editjpilot.c
4553           src/editldap.c
4554           src/editldap_basedn.c
4555           src/editvcard.c
4556           src/jpilot.c
4557           src/mgutils.c
4558           src/syldap.c
4559           src/vcard.c: converted C++-style comments into C-style one.
4560         * src/imap.c: QUOTE_IF_REQUIRED(): new macro. Copy string into
4561           new buffer and quote with double quotes if required.
4562           imap_status(), imap_cmd_login(), imap_cmd_list(),
4563           imap_cmd_do_select(), imap_cmd_create(), imap_cmd_delete(),
4564           imap_cmd_copy(): use QUOTE_IF_REQUIRED().
4565         * compose.c: compose_write_to_file(): workaround for the problem
4566           when using libjconv and 8bit codes cannot be converted on C
4567           locale.
4568         * codeconv.[ch]: added "ANSI_X3.4-1968" to encoding strings.
4569           conv_codeset_strdup(): don't convert if source and destination
4570           codeset are identical.
4571
4572 2001-09-30
4573
4574         * src/textview.[ch]: textview_search_string_backward(): new.
4575           Add the new member cur_pos to TextView.
4576           Connect button_press_event with gtk_signal_connect_after() to
4577           obtain the correct editable position