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