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