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