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