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