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