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