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