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