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