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