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