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