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