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