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