just added the tools README as README.tools to the docs stuff
[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