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