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