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