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