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