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