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