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