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