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