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