3 * src/recv.c: recv_bytes_write(): fixed another bug that caused
4 infinite loop and buffer overrun.
8 * src/socket.[ch]: renamed sock_read() and fd_read() to
9 sock_gets() and fd_gets() for preventing confusion.
10 Added sock_read() and fd_read() which is the wrapper of read().
11 * src/recv.c: recv_bytes_write(): fixed a bug that caused infinite
12 loop. Use sock_read() instead of fd_read().
19 src/smtp.c: use sock_gets() instead of sock_read().
20 * src/imap.c: imap_session_new(): fixed the error detection
25 * src/inc.c: made it displays current read bytes to the dialog.
26 * src/pop.c: recv_write(): call UI function before editing
31 * src/progressdialog.c: progress_dialog_create(): modified the
32 size of dialog and made it stretchable.
34 src/esmtp.c: smtp_ok(), esmtp_ok(): fixed a bug that didn't
35 process an error response correctly (thanks to Ohmasa).
36 * src/pop.[ch]: added pop3_getsize_list_send(),
37 pop3_getsize_list_recv().
38 * src/recv.[ch]: added recv_set_ui_func() that makes recv_write()
39 call the callback function for each sock_read().
40 * src/inc.h: in Pop3State, renamed bytes to total_bytes, and added
41 cur_msg_bytes, cur_total_bytes, and sizes.
42 * src/inc.c: added inc_pop3_recv_func() that updates the progress
43 bar for each sock_read().
47 * src/mh.c: mh_is_maildir_one(): modified so that it uses
50 2001-04-25 Werner Koch <wk@gnupg.org>
52 * src/mh.c (mh_is_maildir_one, mh_is_maildir): New.
53 (mh_scan_tree_recursive): Do not include Maildir style directories
56 Changed the use of integers to describe sockets by an more abstract
59 * src/automaton.h (struct _Automaton): Add help_sock.
60 * src/automaton.c (automaton_input_cb): Changed source to be
61 SockInfo and use wrapper for gdk_input_add.
63 * src/send.c (SEND_EXIT_IF_ERROR): Adjusted tests and removed test
64 for invalid socket because this is now done in sock_close. Set
66 (SEND_EXIT_IF_NOTOK): Set closed sock to NULL.
67 (send_smtp_open): Use only SockInfo.
69 * src/news.c (news_session_new): Use SockInfo here.
70 (news_session_destroy): Ditto and set sock to NULL.
72 * src/nntp.c: Use SockInfo instead of integers
77 * src/inc.c (inc_pop3_session_do): Removed sock_sockinfo_free. Put
78 gdk_input_add into a wrapper.
80 * src/esmtp.c: Changed socket descriptors to use SockInfo.
81 * src/esmtp.h: Ditto, included socket.h.
82 * src/session.h (struct _Session): Likewise.
83 * src/imap.c (imap_open): Return SockInfo ptr and not an integer.
84 Removed access to internal data of SockInfo. Changed all callers
85 and functions to take SockInfo.
86 (imap_session_new): Use sock_close here.
87 (imap_session_destroy): Ditto.
89 * src/compose.c (compose_exec_ext_editor): Replaced sock_write by
92 * src/main.c (app_will_exit): Close lock socket using fd_close.
93 (prohibit_duplicate_launch): Use fd_xxx functions instead of sock_xxx.
94 (lock_socket_input_cb): Ditto.
96 * src/socket.h, src/socket.c: Prepared SockInfo structure to use
97 glib channels. Changed all sock_xxx to use SockInfo instead of an
99 (sock_connect_unix, sock_open_unix, sock_accept): Renamed to ..
100 (fd_connect_unix, fd_open_unix, fd_accept): .. this and changed all
102 (fd_read, fd_write, fd_close): New.
103 (sock_sockinfo_free): Removed.
104 * src/socket.c (sock_connect_nb): Use close instead sock_close here.
105 (sock_connect): Ditto.
109 * config.h.in: removed.
110 * ac/Makefile.am: added gnupg-check-typedef.m4 to MACROS.
113 src/progressdialog.[ch]
114 src/pixmaps/complete.xpm
115 src/pixmaps/continue.xpm
116 src/pixmaps/error.xpm: applied the patch from Leandro Pereira
117 that displays the state of message incorporation (thanks!).
118 * src/inc.c: made the progress dialog change the text of status.
122 * removed po/*.gmo, configure, stamp-h.in, aclocal.m4, Makefile.in
124 * COPYING: removed RSA copyright notice.
125 * removed po/sylpheed.pot, po/stamp-cat-id, po/cat-id-tbl.c.
126 * configure.in: added the check of sys/utsname.h.
128 2001-04-24 Werner Koch <wk@gnupg.org>
130 Merged most of the changes from the W32 branch in.
132 * configure.in: Require gpgme >= 0.2.1
134 * acconfig.h (HAVE_U32_TYPEDEF): New.
135 * ac/gnupg-check-typedef.m4: New.
136 * configure.in: Check for u32 type and the size of some types.
137 * src/utils.h: Define the u32 type and related constants.
139 * src/about.c (about_create): Removed the note about MD5. We are
140 not any longer using the RSA Inc. implementation.
141 * src/md5ify.c, src/md5ify.h, src/md5global.h: Removed.
142 * src/md5c.c, src/md5c.h: Replaced by an FSF implementation and
143 renamed the function to standard lowercase convention. Changed all
145 (md5_hex_digest): New.
146 (md5_hmac): Add hmac function by Martin Schaaf with some
149 * src/esmtp.c, src/esmtp.h (md5_hex_hmac): Removed.
151 * src/pop.c (pop3_getauth_apop_send): Replaced the md5_digest by
152 the new md5_hex_digest function.
154 * src/about.c: Include utsname.h only if available
156 * src/utils.c, src/utils.h (get_home_dir): New to better cope with
157 special Windoze requirements. Changed all calls to
158 g_get_home_dir() to this function.
160 * simple-gettext.c: New.
162 * src/main.c (main): Issue a warning if GnuPG is not properly
165 * src/sigstatus.c, src/sigstatus.h: New.
166 * src/rfc2015.c (check_signature): Use the sigstatus window and
167 get the status texts from a utility function.
169 * src/select-keys.c: Removed the global select_keys var and
170 pass an allocated one along all functions.
171 (set_row): Display only keys capable of encryption.
172 (update_progress): Replaced the progressbar by
173 a windmill and a text showing for which key we are collecting
174 info. Removed progressbar everywhere else and updated callers.
176 * src/prefs_common.c (prefs_privacy_create) [__MINGW32__]: Do not
177 display the grab button.
181 * src/prefs_common.[ch]
182 src/procheader.c: applied the patch from Darko Koruga that
183 allows user to define their own format for displaying date in
184 summary view using strftime() (thanks!).
185 * src/prefs_common.c: prefs_quote_colors_dialog()
186 src/mainwindow.c: main_window_reflect_prefs_all(): made it
187 update message colors if the colors setting is changed.
188 * src/main.[ch]: made it remember the startup directory.
189 * src/export.c: export_mbox(): made it initially chdir to the
191 * src/filesel.c: filesel_select_file(): made it open the startup
196 * added option to warn about queued messages on exit [sergey]:
198 * src/compose.c: compose_queue(): call folder_item_scan()
199 and folderview_update_item() after queueing.
200 * src/folderview.c: folderview_update_node(): draw the queue
201 folder in bold font if there are queued messages.
202 * src/mainwindow.c: queued_messages(): new function.
203 app_exit_cb(): display warning if there are queued messages
204 if warn_queued_on_exit is set.
205 * prefs_common.[ch]: add warn_queued_on_exit option.
207 * src/mainwindow.c: moved queued_messages() to main.c, and renamed
208 it to get_queued_message_num().
209 * src/main.c: app_will_exit(): moved warning dialog code from
210 app_exit_cb(), and added manage_window_focus_in().
212 * enhanced GnuPG key selection support [sergey]:
214 * src/select-keys.c: updated to newer version from Win32
215 branch with support for selecting arbitrary keys.
216 * src/prefs_account.c: added the Privacy tab to the account
218 prefs_account_privacy_create(),
219 prefs_account_sign_key_set_data_from_radiobtn(),
220 prefs_account_sign_key_set_radiobtn(): new functions.
221 * src/prefs_account.h: new preferences sign_key_type, sign_key_id.
222 * src/rfc2015.c: set_signers(): new function.
223 pgp_sign(): add the account parameter, call set_signers().
224 rfc2015_sign(): add the account parameter, pass it to pgp_sign().
225 * src/rfc2015.h: rfc2015_sign(): updated prototype.
226 * src/compose.c: pass the current account to rfc2015_sign().
230 * src/mbox.c: export_to_mbox(): fixed a memory leak bug.
234 * src/mbox.[ch]: renamed export_mbox() to export_to_mbox().
235 Fixed a memory leak bug.
236 * src/export.[ch]: added for exporting folder to mbox.
237 * src/import.[ch]: made import_mbox() take default folder.
238 Added description to the dialog.
239 * src/summaryview.c: summary_show(): fixed a bug that kept the
240 toolbar buttons insensitive after receiving messages.
242 src/import.c: fixed a bug that caused quitting of the program
243 when OK or Cancel button was clicked several time.
244 * src/prefs_common.[ch]
245 src/addressbook.c: added "Add address to destination when
246 double-clicked" option.
250 * src/prefs_common.[ch]: reorganized the items of settings,
251 and added Message tab.
252 * src/main.c: parse_cmd_opt(): added command line option --version.
253 * src/mh.c: made it unset MSG_DELETED flag when moved/copied to
255 * src/prefs_common.[ch]
256 src/headerview.[ch]: the header pane can be toggled now.
257 * src/prefs_common.[ch]
258 src/textview.c: page scroll step is now selectable between
259 one page and half page.
260 * src/mbox.[ch]: added export_mbox() that reads all messages
261 in a folder, and store them into one mbox file.
265 * src/prefs_filter.[ch]: separated filter setting code from
266 prefs_common.c, and made it a separate dialog.
273 src/inc.c: fixed the bug that made Sylpheed crash when clicking
274 Cancel button while getting new mail (thanks to Sergey Vlasov).
275 * src/xml.c: xml_build_tree()
276 src/addressbook.c: fixed a bug that caused infinite loop if an
277 illegal XML file was given.
282 src/inc.c: applied the patch from Sergey Vlasov that fixes the
283 problem when the "Go to inbox after receiving new mail" option
284 was turned off (thanks!).
288 * src/xml.[ch]: modified so that it supports some characters which
289 must be escaped, and multiple-lined tag.
291 src/addressbook.c: modified so that it escapes some characters
292 like '<', '>', '&', ''', '"'.
302 src/summaryview.[ch]: applied the patch from Darko Koruga that
303 adds copy message operation for the MH folders (thanks!).
304 * src/imap.c: disabled slash to dot conversion.
305 * src/imageview.c: fixed a bug that displayed an old image when
306 loading of a image failed (thanks to Darko Koruga).
310 * src/procmsg.c: procmsg_read_cache(): added setvbuf() to speed up
311 cache reading (thanks to Sergey Vlasov).
314 prefs_common.[ch]: applied the patch that keeps the same folder
315 after receiving new mail (thanks to Sergey Vlasov).
317 src/utils.[ch]: moved get_quote_level() to utils.c.
321 * ac/Makefile.am: added.
323 configure.in: added ac directory.
327 * src/summaryview.c: summary_filter(): made it move messages
328 immediately if immediate_exec option is set.
329 * src/prefs_common.[ch]
331 src/gtkutils.[ch]: applied the message coloring patch from
332 Stephen Anthony with some modification (thanks!).
334 src/mimeview.c: modified the behavior of MimeView (thanks to
339 * src/utils.c: copy_file()
340 src/mh.c: applied (and modified) the patch from Darko Koruga
341 that enables to move messages across file systems (thanks!).
343 src/utils.[ch]: applied the patch from Jorge Van Hemelryck
344 that converts the date of messages to the local time (thanks!).
345 * src/utils.c: remote_tzoffset_sec(): fixed a bug that the signs
346 of one-letter timezone were reversed.
347 * src/folder.c: folder_item_add_msg(): put the assertion for the
348 add_msg() method (thanks to TAKANO).
352 * src/procmime.c: procmime_decode_content(): fixed a bug that
353 corrupted quoted-printable encoded messages when they include
354 `=00' (thanks to Masahiro Tomita).
357 src/summaryview.c: modified the DnD behavior of MIME view
358 (thanks to HIRAMATSU).
362 * src/about.c: applied the patch from Sergey Vlasov that fixes
363 the appearance of the about dialog (thanks!).
364 * src/prefs_common.[ch]
370 src/textview.[ch]: applied the GnuPG support patch which had
371 ported from the sylpheed-win32 branch (thanks to Sergey Vlasov).
372 * INSTALL, INSTALL.jp: updated the description about GnuPG.
376 * src/utils.[ch]: added references_list_append() that parses
377 References header and makes it string list.
378 * src/compose.c: modified so that too long References header is
379 truncated, garbage characters are removed, and header is tidied
380 up (thanks to Matthias Intemann).
384 * src/addr_compl.c: applied the address completion bugfix patch
385 from Alfons Hoogervorst (thanks!).
389 * src/gtksctree.c: modified so that the tree_select_row signal
390 actually pass the column number.
391 * src/summaryview.c: summary_selected(): made generic mark and
392 unread mark can be toggled with clicking of the columns.
393 Added summary_mark_row_as_read() and summary_mark_row_as_unread().
395 src/prefs_account.c: applied the layout fix patches from Sergey
396 Vlasov, and adjusted some widths of GtkEntry widgets.
397 * src/prefs.c: prefs_dialog_create(): enable notebook to take focus.
398 * src/inc.c: inc_start(): modified so that authentication dialogs
399 show server name too (thanks to Sergey Vlasov).
403 * src/mimeview.c: mimeview_key_pressed(): fixed a bug that caused
404 segmentation fault when a malformed multipart message is shown
405 (thanks to Sergey Vlasov).
406 * src/summaryview.c: summary_display_msg(): made it focus to the
407 summary view if the MIME list is empty.
411 * src/pixmaps/deleted.xpm
413 src/summaryview.c: added deleted and mark icon.
414 * src/gtkutils.c: gtkut_widget_init(): changed gtk_widget_destroy()
415 to gtk_widget_unref().
416 * src/addr_compl.c: start_address_completion(): fixed the bug that
417 displayed warning when the address book was empty (thanks to
422 * src/summaryview.c: summary_show(): fixed a memory leak bug
423 (thanks to ChiDeok Hwang).
424 * src/pixmaps/forwarded.xpm
425 src/pixmaps/replied.xpm
427 src/pixmaps/unread.xpm
432 src/summaryview.[ch]: applied the patch from Marc Hoper
433 that adds replied and forwarded mark to replying or forwarding
434 messages (thanks!). And new and unread mark were replaced
435 by the icons David Mehrmann created (thanks!).
436 * src/summaryview.c: made the width of unread and MIME column
438 * src/prefs.c: prefs_config_parse_one_line(): made it check the
439 '=' separator (thanks to Sergey Vlasov).
443 * src/prefs_common.[ch]: moved smooth scroll option to the
445 * src/textview.c: made the one-line scroll also perform smooth
450 * src/prefs_common.[ch]
451 src/textview.c: applied the smooth scroll patch from Setoh and
456 * src/summaryview.c: summary_attract_by_subject(): rewritten it
457 using hash table for speeding up.
458 * src/prefs_account.c: made filter_on_receive TRUE by default.
459 * src/mainwindow.c: reordered menu items.
463 * src/gtkutils.c: gtkut_clist_bindings_add(): fixed a bug that
464 caused address completion not to accept space and enter key.
469 src/codeconv.c: fixed a bug that didn't encode non-ASCII headers
471 * src/compose.c: fixed a bug that didn't decode some headers
472 correctly when replying or reediting drafts (thanks to Sergey
477 * src/gtkutils.[ch]: added gtkut_widget_init() that modifies the
478 behaviors of some classes.
479 * src/main.c: main(): made it call gtkut_widget_init() first.
480 * src/summaryview.c: summary_create(): removed the key binding code.
484 * src/procmsg.[ch]: modified for the sake of readability.
488 * src/mainwindow.c: changed "Clean trash" to "Empty trash".
489 Added new menu items for folder manipulation.
490 allsel_cb(): made it change the target between summary view and
491 message view according to the input focus.
492 Removed "Select all" from Summary submenu.
493 * src/folderview.[ch]: added functions for creating/renaming/deleting
495 * src/procmsg.[ch]: made "marked" and "deleted" flag permanent, and
496 removed "important" flag.
497 * src/summaryview.c: added summary_set_row_marks() that sets style
498 of a row according to the flags, and made some functions use it.
499 * src/mainwindow.c: allsel_cb(): modified so that it selects
500 summary view correctly if message view is toggled off.
504 * src/socket.c: sock_connect_by_getaddrinfo(): fixed a resource
505 leak bug of socket, and rewrote the routine.
506 * src/inc.c: inc_mail(), inc_all_account_mail(): fixed a bug that
507 displayed the wrong unread number in the folder tree if a
508 folder was open and new messages arrived at the folder.
509 * src/socket.c: sock_connect_by_getaddrinfo(): fixed a bug
514 * src/mh.c: mh_move_msg(), mh_move_msgs_with_dest(): made it
515 check the existence of the destination file.
516 * src/procmsg.c: procmsg_set_flags(): made it count the last
517 number of the message list (and fixed a bug that didn't open
518 newly arrived message).
522 * src/prefs_common.c: prefs_send_create(): removed EUC-JP and
523 Shift_JIS from the outgoing codeset.
531 * src/send.c: send_message_queue(): modified so that it finds
532 the account from the `From' and the server name of the queued
534 * src/account.[ch]: added account_find_from_smtp_server() that
535 finds an account from the specified address and SMTP server.
539 src/sourcewindow.[ch]: integrated the viewing source patch from
540 DINH V. Hoà (thanks!).
544 * src/addr_compl.[ch]
546 src/compose.c: applied the enhanced address completion patch
547 from Alfons Hoogervorst (thanks!).
548 * src/addr_compl.c: replaced g_assert() with g_return(_val)_if_fail().
549 * src/folder.c: folder_init()
550 src/folderview.c: folderview_drag_motion_cb()
551 src/procmsg.c: procmsg_clean_trash()
552 src/summaryview.c: summary_start_drag()
553 src/imap.[ch]: integrated the IMAP4 move/remove function patch
554 from Suzuki Mio (thanks!).
558 * src/main.c: parse_cmd_opt(): made the --compose option realize
560 * src/utils.[ch]: execute_async(): supported quoted arguments
562 strstr_with_skip_quote(), strsplit_with_quote(): quote-supported
563 version of g_strsplit().
564 * src/mimeview.c: mimeview_view_file()
565 src/prefs_common.c: added single quotation mark around the file
577 src/utils.[ch]: applied the security fix patch from Dmitry V.
578 Levin with some modification (thanks!). Added my_tmpfile() to
580 * src/main.c: added --receive-all command-line option.
584 * src/socket.c: sock_connect_thread(): fixed a bug that didn't
585 compile if both multithread and IPv6 are enabled (thanks to
588 src/compose.c: applied a patch from Jason McCarver that allows
589 FIFO for signature file (thanks!).
590 * src/textview.c: made some more refactoring.
591 * src/socket.c: sock_accept(): changed socklen_t to gint.
596 src/textview.c: some code cleanups.
602 src/textview.c: integrated the patch from Alfons Hoogervorst that
603 fixes some glitches in clickable URI and enables mail addresses
604 clickable, and enables the --compose command line option to
605 specify address (thanks!).
612 src/prefs_account.[ch]
613 src/Makefile.am: applied the SMTP AUTH patch from Martin Schaaf
614 and fixed its a few bugs (thanks!).
615 * src/textview.c: textview_key_pressed(): made it don't move focus
617 * src/main.c: parse_cmd_opt(): modified the help message.
618 * src/html.[ch]: added empty_line to HTMLParser and modified
619 the parser routines a bit.
623 * src/html.c: added eucjp_symbol_list, and added some characters
624 to ascii_symbol_list.
628 * src/codeconv.[ch]: added a member `charset' and `charset_str'
630 * src/html.[ch]: added the symbol list for ISO-8859-1 codeset.
631 html_parser_new(): made it change the symbol hash table
632 according to the character set of the document.
633 html_parse_special(): made it recognize character code number.
637 * src/textview.c: added textview_show_html() that parses HTML and
639 textview_show_part(): made it call textview_show_html() if
640 the part is text/html.
641 * src/html.[ch]: implemented HTML parser.
645 * src/codeconv.[ch]: added CodeConverter, and its methods
646 (conv_code_converter_new(), conv_code_converter_destroy(), and
648 * src/textview.c: removed the branches by HAVE_LIBJCONV and
649 rewrote them using CodeConverter.
653 * src/mbox.c: proc_mbox(): workaround for duplicated From_ line.
657 * src/codeconv.c: some code cleanups.
661 * src/mainwindow.c: main_window_popup(): fixed a bug that didn't
662 popup the main window correctly.
663 * src/codeconv.h: fixed a bug that the definition of CS_EUC_CN and
664 CS_EUC_TW was reversed (thanks to Sakamoto).
671 src/socket.[ch]: applied the patch from Hiramatu that enables
672 prohibition of multiple execution and remote control with
673 command line option (thanks!).
677 * src/summaryview.c: summary_button_pressed(), summary_selected():
678 made it toggle the view if middle button is clicked while message
680 summary_drag_data_get(): fixed a memory leaking.
682 src/compose.c: compose_write_headers(): modified so that it uses
683 host_alias for X-Mailer or X-Newsreader field.
689 * src/folderview.c: fixed a bug that prevented a folder from being
690 created if there were already folders that have the same name
691 somewhere at another place.
695 * src/folderview.c: folderview_update_all(): fixed a bug that
696 caused segmentation fault when a folder was selected after
697 updating the folder tree.
698 * src/compose.c: compose_send(): fixed a locking bug.
699 compose_write_headers(): fixed a bug that referred to cur_account.
700 compose_convert_header(): made it check the arguments.
704 * src/main.c: some cleanups and added --help option.
708 * src/send.c: re-enabled user-defined domain name setting.
709 * src/utils.c: is_next_mbs(): changed the size of temporary
710 multibyte array to MB_CUR_MAX.
711 strdup_mbstowcs(): added error check to mbstowcs().
712 strdup_wcstombs(): added error check to wcstombs().
713 * src/addr_compl.c: get_address_from_edit(): made it check the
714 return value of strdup_mbstowcs().
715 * src/codeconv.c: conv_encode_header(): added error checking
716 to strdup_mbstowcs().
720 * src/utils.c: log_error(): changed g_error() to g_warning() so
721 that it doesn't abort.
723 * src/addr_compl.c: add_address(): fixed a bug that aborted the
724 program if the name or the address is empty.
725 get_address_from_edit(): supported multibyte characters.
726 * configure.in: fixed a typo.
727 * src/send.c: re-enabled user-defined SMTP port setting.
733 * configure.in: added --enable-gpgme option, and disabled GPGME
735 * made GPGME related members in MimeInfo not used if disabled.
736 * src/rfc2015.c: some cleanups for warning.
741 * Makefile.am: modified bzip2 option.
745 * src/procmime.[ch]: added MIME_APPLICATION_OCTET_STREAM to
747 * src/mimeview.c: mimeview_view_file(): made it do nothing if
748 the MIME type is application/octet-stream.
749 * src/folderview.c: folderview_update_all(): made it show modal
750 dialog while updating folders.
751 * src/folderview.c: folderview_update_all(): fixed a bug that
752 didn't remove the dialog.
756 * src/mimeinfo.c: merged the patch from John E.P. Hynes that
757 launches the attached file using metamail (thanks!).
758 * src/procmime.[ch]: added procmime_get_tmp_file_name().
760 src/addr_compl.[ch]: merged the patch from Alfons Hoogervorst
761 that enables address completion in the address entry on the
762 composition window (thanks!).
763 * src/addr_compl.c: get_all_addresses(), read_address_book():
764 modified so that it uses xml_free_tree() for freeing the address
769 * src/utils.c: remove_dir_recursive(): fixed a bug that failed to
770 remove the current directory (thanks to Maki).
771 * src/summary_search.c: added `Select all matched' option to the
772 search dialog (thanks to Takahashi).
773 * src/pixmaps/stock_mail_attach.xpm
774 src/pixmaps/tb_address_book.xpm
775 src/compose.c: added some toolbar icons contributed from
776 Leandro Pereira (thanks!).
780 * src/rfc2015.c: passphrase_cb(): *finally* fixed a bug that caused
781 segmentation fault when the passphrase dialog was cancelled.
782 Hided the passphrase in the debug message.
783 * src/about.c: about_create(): fixed a bug that failed to compile
784 when none of the features were used.
785 * src/foldersel.c: foldersel_set_tree(): made it display all
787 * src/inc.c: inc_start(): fixed a bug that showed password dialog
788 continuously if it was cancelled.
789 * src/summaryview.c: summary_write_cache(): put an assertion after
790 folder_item_get_cache_file() to prevent the crash.
791 * thanks to Maki for the above four fixes.
792 * src/utils.h: added #include <alloca.h>.
796 * src/rfc2015.c: changed some g_message() used for error messages
801 * src/procmsg.[ch]: modified READ_CACHE_DATA() macro so that
802 it can handle a string data of which length >= BUFFSIZE.
803 * src/rfc2015.c: rfc2015_encrypt(): changed return to `goto failure'.
804 * src/pixmaps/stock_mail_receive_all.xpm
805 src/pixmaps/stock_mail_reply_to_all.xpm
807 src/mainwindow.c: main_window_toolbar_create(): added new toolbar
808 icons contributed from David Mehrmann (thanks!).
809 * src/inc.[ch]: overhauled the architecture so that it don't create
810 and destroy progress dialog for each incorporation in `get all'
815 * src/mh.c: mh_scan_tree_recursive(): fixed a bug that mistook
816 sub folders named `inbox', etc. as special folders.
817 * src/rfc2015.c: rfc2015_encrypt(): fixed a bug that didn't quote
822 * applied the GnuPG patch from Werner Koch (thanks!).
823 * removed Mixmaster support.
824 * src/rfc2015.c: changed g_error() to g_warning() and modified some
826 * src/about.c: about_create(): modified compiled-in features list.
831 * src/select-keys.c: create_dialog(): modified the layout.
834 src/logwindow.c: made it raise the window if the window is already
836 * src/prefs_common.[ch]: added an option for immediate execution.
837 * src/summaryview.c: made it execute immediately when messages are
838 moved or deleted if immediate_exec option is turned on.
839 * src/summaryview.c: summary_delete(), summary_move_selected_to():
840 moved summary_step() before summary_execute().
841 * src/folderview.c: folderview_update_all(): made it scan folder
843 * src/compose.c: compose_write_headers(): made it don't add
844 In-Reply-To header if to_list is empty.
846 2001-01-09 Werner Koch <wk@gnupg.org>
848 * configure.in, acconfig.h: Check for GPGME.
849 * ac/: New directory for local autoconf macros.
850 * src/Makefile.am: Add support for GPGME
852 * src/main.c (idle_function_for_gpgme): New.
853 (main): Register this function.
855 * src/about.c: Add a note about GPGME.
857 * src/rfc2015.c, rfc2015.h: New.
859 * src/mimeview.c (mimeview_show_message): Check signature.
860 * src/procmime.c (procmime_scan_message): Ditto.
862 * src/messageview.c (messageview_show): Add decryption stuff.
864 * src/compose.c (compose_write_to_file): Encrypt the file if requested.
865 (compose_toggle_encrypt_cb): New
866 (compose_toggle_mixmaster_cb): New, just to be prepared for
868 (compose_write_headers): Suppress some headers in mixmaster mode.
870 * src/prefs_common.c (prefs_common_create): Add Privacy notebook sheet.
871 (prefs_privacy_create): New. Also some new structures etc.
872 * src/compose.c (compose_create): Set encrypt button to prefs default.
873 * src/compose.h (struct _Compose): Add use_encryption, use_mixmaster.
875 * src/compose.c (compose_send): Add missing unlock before one return.
881 src/summaryview.[ch]: applied the patch from Hiramatu that enables
882 DnD from the summary view to the folder view and fixes some other
884 * src/mainwindow.c: scan_tree_func(): fixed a bug that caused
886 * src/imap.c: quoted user name in LOGIN and folder name in SELECT.
887 * src/gtksctree.c: gtk_sctree_button_press(): fixed a bug that
888 didn't toggle expansion of node.
892 * src/imap.c: applied the patch from Nishimura that updates the
893 message list more precisely and reads the message flags (thanks!).
894 * src/textview.c: textview_show_header(): made X-Newsreader field
896 * src/summaryview.c: summary_show(): made it flush events when
901 * src/summaryview.c: applied the patch from Alfons that enabled
902 the horizontal scrollbar of summary view (thanks!).
906 * src/compose.c: compose_cb(): fixed a bug that didn't open the
907 composition window right after launching the program.
908 * src/setup.c: scan_tree_func(): fixed a bug that caused
915 * src/textview.c: textview_set_font(): fixed a bug that caused
916 segmentation fault if the mode of the text widget was changed
917 between multibyte and singlebyte while the region was selected
923 src/summaryview.c: made it unable to delete or move messages when
926 src/news.c: added the option for maximum news article number.
930 * src/compose.c: compose_send(): changed the location of temporary
931 file. Made it use the default account if all of tried account
932 aren't mail one, and made it show alert dialog and abort when even
934 * src/prefs_account.c: prefs_account_get_new_id(): made it preserve
936 prefs_account_open(): made it fill in personal information
937 according to the default account when creating a new account.
938 * sylpheed.spec.in: added to autogenerate sylpheed.spec with the
939 proper version number (thanks to BONAIM).
941 Makefile.am: added entries for sylpheed.spec.in.
945 * src/compose.[ch]: modified so that it can change account
947 * src/send.[ch]: modified so that it doesn't see cur_account.
948 * src/prefs_account.c: modified so that news setting doesn't
949 show SMTP server entry.
953 * src/folderview.c: fixed a bug that didn't sort special folders
954 correctly when a new folder is created or renamed.
958 * src/compose.[ch]: enabled to select account at composing window.
959 * src/folderview.c: made it display unread number next to folder
961 * src/prefs_common.[ch]: added the option for unread number display.
965 * src/compose.[ch]: integrated news posting patch from DINH V. HoÃ
966 and made many modifications (thanks!).
967 compose_write_headers(): made the spaces in newsgroups removed.
968 Supported Followup-To.
969 compose_destroy(): got the objects removed properly.
970 * src/news.c: merged news_post_to_group() and news_post() since
971 they doesn't have to do multiple posting.
972 * src/import.c: import_destsel_cb(): fixed a bug that failed to
973 import into the selected folder.
974 * src/prefs_account.c: modified the interfaces.
979 prefs_common.c: changed "SHIFT-JIS" to "Shift_JIS" since the
980 string is registerd to IANA.
981 * src/nntp.[ch]: added nntp_post().
982 * src/news.[ch]: added news_post() and news_post_to_group().
986 * src/account.c: account_edit_open()
987 src/mainwindow.c: new_account_cb(): made it unable to edit
988 accounts if some composing windows are open.
992 * src/folder.[ch]: added folder_set_name().
993 * src/account.c: made a folder name of IMAP4/NNTP become the same
994 as the name of account.
998 * src/summaryview.c: summary_filter_func(): fixed a bug that failed
1005 * src/mbox.c: fixed a bug that didn't incorporate spool file
1006 correctly. Modified so that it recognizes From_ line as separator
1007 of messages even if the previous line isn't empty line.
1008 * src/send.c: send_message_queue()
1009 src/procmsg.c: procmsg_send_queue(): Fixed a bug that printed
1010 warning when it tried to delete a sent message.
1017 src/news.[ch]: modified so that it actually gets news articles.
1018 * src/utils.[ch]: added make_dir_hier() that creates directory
1021 folder_item_get_cache_file(), folder_item_get_mark_file():
1022 made it creates cache directory if it doesn't exist.
1023 folder_add(): made it insert the added folder into the correct
1025 * src/imap.[ch]: modified so that it suits the new folder
1026 architecture. Fixed a bug that caused segmentation fault
1027 if authentication failed at imap_auth().
1028 * src/folderview.c: implemented IMAP4 folder handling routines.
1032 * src/prefs_account.[ch]: added account ID and nntp_server
1033 to PrefsAccount. And added the interface for NNTP server.
1034 * src/folderview.c: modified news folder handling routines.
1035 * src/folder.[ch]: removed cache_dir from RemoteFolder, and
1036 modified folder_item_get_path().
1040 * src/folder.[ch]: added create_folder(), rename_folder(),
1041 remove_folder() to Folder class.
1042 * src/mh.[ch]: added mh_create_folder(), mh_rename_folder(), and
1044 Implemented mh_create_tree() that creates MH directory tree.
1045 mh_rename_folder(): modified so that the paths of sub folders
1047 * src/folderview.c: modified folderview_new_folder_cb(),
1048 folderview_rename_folder_cb(), and folderview_delete_folder_cb()
1049 so that they work properly.
1050 Added folderview_remove_mailbox_cb() and the menu entry that
1051 remove mailbox from folder tree.
1052 * src/setup.[ch]: added for initial setup.
1053 * src/alertpanel.c: modified the appearance of the dialog.
1054 * src/compose.c: fixed compose_save_to_outbox() and
1055 compose_queue() so that it sets flags correctly.
1059 * src/mainwindow.c: modified the strings of toolbar labels.
1063 * src/gtkutils.[ch]: added gtkut_ctree_node_move_if_on_the_edge().
1064 * src/summaryview.c: summary_display_msg(): made it scroll the
1065 list if the message of the edge of that is displayed.
1070 src/mh.[ch]: added functions for moving messages.
1071 * src/procmsg.[ch]: moved procmsg_move_messages_with_dest()
1072 to folder.c and mh.c. Added procmsg_to_folder_hash_table().
1076 * src/utils.[ch]: added get_tmp_file().
1079 src/folder.c: fixed a bug that failed to drop messages.
1080 * src/mh.c: mh_scan_folder(): made it check new, unread, and total
1081 number of the folder.
1085 * src/folderview.c: added special folder setting routine.
1086 * src/folder.[ch]: added a method is_msg_changed().
1087 Implemented folder_find_item_from_path().
1088 * src/summaryview.c: fixed some bugs that wrongly freed FolderItem's.
1089 * autogen.sh: fixed so that the configure can take arguments.
1094 src/mainwindow.[ch]: added main_window_new_mailbox() that asks
1095 the path of mailbox and create the one.
1096 * src/folderview.c: made the folder tree and selected folder
1102 src/folder.c: implemented mh_scan_tree() that scans the folder
1103 recursively and create the tree.
1123 src/summaryview.[ch]
1125 src/Makefile.am: merged the development tree into the cvs tree.
1126 Some functions are not unimplemented yet.
1134 * src/xml.[ch]: supported omitted tag (<tag />).
1135 * src/procmsg.c: procmsg_msg_exist(): fixed a memory leak bug.
1136 * src/imap.c: imap_parse_atom(): fixed a bug that caused
1137 segmentation fault if the subject was empty (thanks to Tsutsui).
1138 * src/folder.[ch]: updated.
1142 * src/xml.[ch]: added xml_parse_file() that parses the whole XML
1143 file specified and returns the tree.
1147 * po/pt_BR.po: fixed some typos that caused segmentation fault.
1153 * src/session.h: added.
1154 * src/folder.[ch]: updated.
1155 * src/compose.c: compose_write_to_file()
1156 src/codeconv.c: conv_get_outgoing_charset_str(): fixed a bug
1157 that put a garbage to charset if the outgoing character set was
1158 specified and non-ascii characters were used in subject.
1162 * src/statusbar.c: statusbar_puts(): fixed a bug that locked the
1163 progress if the status bar was hidden.
1167 * src/folder.[ch]: added for the more object-oriented folder
1175 src/prefs_common.[ch]: made the state of status bar get preserved.
1176 * src/compose.c: compose_insert_sig(): modified so that it doesn't
1177 put a separator if a signature file doesn't exist.
1178 * src/prefs_account.[ch]
1179 src/inc.c: added the option that toggles whether to receive
1180 messages when getting from all accounts.
1182 README.jp: updated the description and added some usages.
1188 src/compose.[ch]: applied the patches from Alfons Hoogervorst
1189 that makes the ruler of composition window graphical (thanks!).
1195 src/prefs_common.c: replaced CS_WINDOWS_1251 with CS_CP1251.
1201 * src/compose.c: turned the color of quoted messages black again.
1205 * src/about.c: added a clickable URI to the Sylpheed home page,
1206 and a list of compiled-in features.
1207 * src/compose.c: made the color of quoted messages blue.
1208 * src/summaryview.c: added `Show all header' to the context menu.
1209 * src/prefs_common.c: removed the threading option from the dialog.
1210 * src/compose.c: fixed a bug that didn't parse the quotation format
1215 * src/compose.c: compose_set_ext_editor_sensitive(): modified so
1216 that it toggles linewrap menu item and tool button.
1217 * src/prefs_common.c: modified the default of the signature
1219 * src/compose.[ch]: added ruler to the compose window.
1220 * src/prefs_common.[ch]: added a member for the state of ruler
1225 * src/headerview.[ch]: added the destroy function.
1226 * src/messageview.c: messageview_destroy(): fixed a memory leak
1227 bug that didn't freed the HeaderView object.
1228 * src/prefs.c: prefs_write_open(): fixed a memory leak bug.
1229 * src/xml.c: xml_close_file(): fixed a memory leak bug (thanks
1230 to Alfons Hoogervorst for the above three memory leak bug fixes).
1239 INSTALL.jp: modified some descriptions.
1243 * src/compose.c: implemented line-wrapping functions.
1244 * src/prefs_common.[ch]: added the settings for line-wrapping.
1245 * src/codeconv.[ch]: added Windows-1251 to the codesets.
1246 conv_jistoeuc(): fixed a bug that caused segmentation fault
1247 when some half-width kana characters appeared.
1248 * src/summaryview.c: summary_select_all(): made it show message
1249 on the status bar if the number of messages is large.
1253 * src/compose.c: compose_reply(), compose_quote_parse_fmt():
1254 modified so that it parses the quotation mark too.
1255 Added %I that means the initial of sender to the format.
1256 * src/codeconv.[ch]: added GB2312 and Big5 to the codesets.
1257 Fixed a bug that set the wrong outgoing codeset.
1259 src/prefs_common.c: modified the menu item of Chinese codeset.
1264 src/prefs_common.[ch]: modified so that outgoing charset is
1265 saved as a string, not a number.
1269 * src/textview.c: textview_set_font(): changed the scheme of
1270 selecting between font and fontset. And changed the default
1272 * src/headerview.c: headerview_show_xface(): made it ignore
1274 * src/codeconv.c: conv_codeset_strdup(), conv_get_code_conv_func():
1275 modified so that it consider the source codeset as ISO-2022-JP if
1276 it is NULL and the current locale is Japanese.
1280 * src/textview.c: textview_destroy(): fixed a bug that caused
1281 segmentation fault if textview->msgfont is NULL (thanks to
1284 src/defs.h: applied the patch from Yanase that enables to
1285 save the shortcuts of the menus (thanks!).
1289 * src/mainwindow.[ch]: added main_window_set_menu_sensitive() that
1290 toggles the sensitivity of menu items.
1291 * src/summaryview.c: renamed summary_set_popup_sensitive() to
1292 summary_set_menu_sensitive(), and made it set the sensitivity of
1297 * src/textview.c: textview_init(): fixed a bug that didn't disable
1298 the theme engine of GtkText (thanks to Hiramatu).
1299 * src/compose.c: compose_quote_parse_fmt(): added %n and %N that
1300 means the full name of sender and the first name.
1301 * manual/ja/*.??ml: updated to the latest version.
1307 * src/defs.h: separated the definitions from main.h and applied the
1308 patch from TOGAWA that sets DEFAULT_SPOOL_PATH and MAXPATHLEN
1309 from the system headers (thanks!).
1310 * src/codeconv.c: conv_get_current_charset(): fixes for lt_LT and
1312 * src/textview.c: textview_set_font(): modified so that it sets
1313 the correct font when the locale is multi-byte.
1314 textview_destroy(): added proper codes for destruction.
1315 textview_show_header(): fixed the coloration of X-Mailer.
1319 * src/textview.[ch]: made TextView have single-byte and multi-byte
1320 GtkText, and switch between them according to the given codeset.
1321 * src/compose.c: compose_create(): modified the font setting
1326 * src/textview.[ch]: moved the message font variable into TextView.
1327 textview_set_font(): modified so that it uses gdk_font_load()
1328 if the given codeset is US-ASCII or ISO-8859-*.
1336 src/compose.c: workaround for the 8bit code issue (used
1337 gdk_font_load() instead of gdk_fontset_load() when the locale is
1344 * src/compose.[ch]: added `Draft' tool button.
1345 * src/imap.c: imap_parse_envelope(): fixed a parsing bug.
1346 * README, README.jp: added the explanation of the locale setting.
1350 * src/compose.c: made it overwrite the previous draft message when
1351 reedited the draft and saved it again.
1352 * src/procmsg.[ch]: added procmsg_msg_exist() that examine whether
1353 the message really exists.
1354 * src/folderview.[ch]: added folderview_scan_folder_a() and
1355 folderview_scan_folder_foreach_a() that scan the specified
1356 folders for each folderviews.
1357 * src/mainwindow.[ch]: removed main_window_scan_folder() and
1358 main_window_scan_folder_all().
1359 Added `Reedit' to the menu.
1360 * src/import.[ch]: removed MainWindow from the argument of
1362 * src/summaryview.c: removed the unnecessary items from the popup
1363 menu. Changed summary_reedit_cb() to summary_reedit(), and made
1368 * src/compose.h: added a member msginfo to Compose.
1369 * src/procmsg.[ch]: added procmsg_msginfo_copy() that duplicates
1374 * src/summaryview.c: made the the popup menu change the sensitivity
1375 according to the context. Fixed a bug that showed the `clean trash'
1376 dialog repeatedly if `D' key was pressed when the focus was on the
1378 * src/pixmaps/unread.xpm: changed the color of unread mark to blue.
1382 * src/main.c: fixed g_thread initialization.
1386 * src/codeconv.c: added pt_BR to locale_table.
1387 * src/prefs_common.c: prefs_send_create(): added `US-ASCII',
1388 `ISO-8859-1', and Japanese codeset to the option menu of outgoing
1389 codeset when not using libjconv.
1390 * src/compose.c: fixed the bug on saving draft again.
1394 * src/compose.c: compose_write_headers(): fixed a bug that failed
1395 to write headers if To: was empty when saving draft.
1401 src/headerwindow.[ch]
1403 src/messageview.[ch]
1407 src/procheader.[ch]: modified so that they can handle queue folder
1410 src/summaryview.c: implemented draft-reediting function.
1413 src/mimeview.c: replaced *(GtkWidget **) with the macro
1418 * src/procmsg.[ch]: procmsg_msginfo_free(): fixed a memory leak bug.
1419 Added MSG_QUEUED and MSG_DRAFT to MsgFlags, and made it set them
1420 if the folder is QUEUE_DIR or DRAFT_DIR.
1427 src/messageview.c: modified the border of the headerview.
1428 * src/gtkutils.h: added the macro GTK_WIDGET_PTR() that casts
1429 an Sylpheed object to GtkWidget.
1430 * src/utils.c: remove_return(), remove_space(): fixed a bug that
1431 possibly caused segmentation fault.
1434 src/summaryview.c: implemented `forward as an attachment'.
1435 * src/utils.[ch]: open_uri(): brought on URI opening function from
1436 textview.c and manual.c.
1443 src/prefs_common.[ch]: removed `Reply with quote', and added
1444 `Reply to all', and added the option that decides whether to
1445 quote message on replying.
1449 * src/folderview.c: modified so that it uses gtkut_wait_for_draw()
1450 instead of GTK_EVENTS_FLUSH() for statusbar redraw.
1453 src/prefs_common.c: added Baltic (ISO-8859-4,13) to the code sets.
1454 * src/compose.c: compose_send(): modified so that it shows error
1455 dialog when failed to send a message.
1459 * src/account.c: account_edit_close(): fixed a bug that didn't set
1460 current account when creating an account for the first time.
1461 * configure.in: added es to ALL_LINGUAS.
1465 * src/codeconv.c: conv_codeset_strdup(): made it use libkcc if
1467 conv_get_code_conv_func(): modified so that it doesn't convert
1468 codeset if it is unknown.
1469 * src/folderview.c: folderview_update_msg_num(): modified style
1474 * src/codeconv.c: conv_codeset_strdup(): modified so that it sets
1475 codesets automatically if the arguments are NULL.
1476 * src/textview.c: textview_write_line(): made it output warning
1477 message on the text view if conversion failed.
1481 * README, README.jp: modified the author of the manual.
1485 * src/headerview.[ch]
1486 src/messageview.[ch]: modified so that it uses GtkLabel widget
1488 * src/codeconv.c: conv_unmime_header(): modified so that it deletes
1489 unreadable codes if the current locale is EUC-JP and libjconv is
1497 src/textview.c: modified so that it parses MIME message more
1499 * src/imap.c: imap_parse_address(): fixed a bug.
1503 * src/procmsg.[ch]: added procmsg_get_message_file_path().
1504 * src/recv.c: recv_bytes_write(): added CR+LF -> LF conversion
1506 * src/imap.[ch]: changed the name of the member `group' in
1507 IMAPSession to `mbox'.
1508 imap_gen_send(): modified so that it doesn't output the password
1510 Modified session destroying routine.
1511 * src/folderview.c: folderview_write_cache(): made it preserve
1512 the IMAP folder list.
1513 * src/procmime.c: procmime_scan_multipart_message(): fixed a bug
1514 that showed boundary at the end of an attached RFC822 part.
1515 * src/prefs_common.c: changed the default of toolbar style to
1520 * src/imap.c: imap_get_uncached_messages(): modified so that it
1521 doesn't get the cached envelopes.
1522 imap_session_get_message_info(): made it read only the cache
1523 if the session is not established.
1524 * src/procmsg.c: procmsg_set_flags(): supported IMAP folder.
1525 * src/news.c: news_get_article_info(): made it read only the cache
1526 if the session is not established.
1530 * src/textview.c: textview_write_line(): fixed a memory leak bug.
1531 * src/folderview.[ch]: made it create IMAP4 folders from the
1532 account information.
1533 * src/imap.[ch]: imap_session_get(): modified so that it creates
1534 IMAP4 session from the account information.
1538 * src/imap.[ch]: added for IMAP4 support.
1539 * src/summaryview.[ch]
1541 src/recv.[ch]: modified for IMAP4 support.
1542 * src/folderview.c: more IMAP4 implementation.
1543 * src/procmsg.[ch]: added procmsg_get_message_file() that retrieves
1544 the specified message and return the file name.
1545 * src/gtkutils.c: gtkut_widget_wait_for_draw(): fixed a bug that
1546 locked up the process if the given widget was invisible.
1550 * src/folderview.[ch]: added IMAP4-related code.
1556 * src/main.h: added IMAP_CACHE_DIR.
1557 * src/utils.[ch]: added get_imap_cache_dir().
1558 * src/procmsg.h: added M_IMAP to MsgType, and MSG_IMAP to MsgFlags.
1559 Added macro MSG_IS_IMAP().
1560 * src/codeconv.c: added `#include <locale.h>' for setlocale().
1561 * sylpheed.spec: fixed %files section.
1567 * src/codeconv.c: conv_get_current_charset(): made it compare
1568 string with strncasecmp().
1569 * src/compose.c: comopse_reply_parse_header(): workaround for
1570 the malformed References: header generated by OE5 :(
1574 * src/prefs_common.c
1575 src/prefs_account.c: modified the layout of the widgets.
1581 * src/*.[ch]: added copyright notice to the top of the source files.
1582 * src/compose.c: compose_write_attach(): modified filename encode
1587 * src/mainwindow.c: fixed the menu entry of manual.
1589 src/codeconv.[ch]: moved compose_encode_header() into codeconv.c,
1590 and applied the libjconv patch.
1591 * src/utils.c: strdup_mbstowcs(), strdup_wcstombs(): used g_realloc()
1592 to reduce the alloc'd memory to the optimal size.
1593 * src/prefs_common.[ch]: added outgoing codeset option menu.
1594 * src/compose.c: compose_send(): added exclusive lock to prevent
1596 * configure.in: made '--enable-ipv6=no' the default.
1597 * src/compose.c: compose_write_attach(): made it encode the name
1598 of the attached file.
1599 * src/procmsg.c: procmsg_get_last_message_number(): fixed a bug that
1600 didn't check the type of file.
1601 procmsg_move_messages_with_dest(): fixed a bug that failed to
1602 move message if a directory that had the same name existed.
1603 * src/utils.c: is_ascii_str(): modified so that '\t', ' ', '\r', '\n'
1604 are included as ASCII characters.
1609 src/procmime.[ch]: modified so that it actually works when using
1611 * src/codeconv.[ch]: added conv_codeset_strdup() that converts
1612 the codeset of string according to the codeset specified in
1614 * src/utils.[ch]: added is_ascii_str() that determines whether the
1615 string is 7bit-ASCII or not.
1617 src/codeconv.[ch]: moved the character set related functions
1619 * merged the patch and the manual written by BONAIM (thanks!).
1629 src/unmime.[ch]: applied the patch from Higuchi that utilizes
1630 libjconv and enables to handle many locales, including UTF-8
1631 (Unicode) (thanks!).
1632 * src/account.c: modified so that the account isn't changed when
1633 another account is selected on account edit dialog.
1637 * src/prefs_common.[ch]
1638 src/textview.c: added an option that specifies whether to display
1639 short headers on message view.
1640 * src/codeconv.[ch]: added function conv_unmime_header() that
1641 decodes MIME-encoded header and converts the character set.
1642 And added conv_unreadable_latin(), and modified conv_latintodisp().
1643 * src/messageview.[ch]: made the window get closed when escape key
1648 * src/imageview.c: fixed a bug that caused segmentation fault if
1649 message view was in new window.
1650 * src/prefs_common.c: added `xemacs %s' to the external editor
1657 * src/summaryview.c: enabled to open a new message window with
1659 * src/prefs_common.[ch]
1660 src/messageview.c: made it preserve the window size of message
1662 * src/prefs_account.c: added `None (local)' to the option menu of
1667 * Makefile.am: added autogen.sh to EXTRA_DIST.
1671 * src/prefs_common.c: applied the patch from Paul Rolland that
1672 enables font selection dialog (thanks!).
1674 src/utils.[ch]: moved tzoffset() and compose_get_date() of
1675 compose.[ch] into utils.[ch].
1676 * src/main.[ch]: renamed the name of filter file to `filterrc'.
1681 src/utils.[ch]: modified address parsing routine so that it
1682 parses quotes correctly.
1683 * src/textview.c: textview_show_part(): modified so that it shows
1684 the simplified headers if the part is text/plain.
1688 * src/messageview.[ch]
1689 src/summaryview.[ch]
1690 src/mainwindow.c: enabled to open a message in new window.
1691 * src/messageview.[ch]
1694 src/imageview.[ch]: added destroy function, and modified the
1695 key handling routines.
1699 * src/socket.c: sock_connect_by_getaddrinfo(): fixed a bug that
1700 caused segmentation fault (thanks to KUROSAWA).
1701 * src/alertpanel.c: modified so that the focused button is
1705 src/folderview.c: modified so that the order of the buttons of
1706 alert panel will be `Yes', `No'.
1710 * src/utils.[ch]: added execute_async() and execute_command_line()
1711 that execute command line using execvp().
1714 src/procmsg.c: replaced system() with execute_command_line()
1716 * src/procmsg.c: turn back to system().
1717 * src/utils.c: modified execute_command_line().
1721 * src/mainwindow.c: main_window_get_size(): modified so that it
1722 doesn't update the height of SummaryView if MessageView is
1724 * src/compose.[ch]: applied the patch from NAKAGAWA that fixes some
1725 probrems of external editor handling (thanks!).
1727 src/procmime.[ch]: applied the patch from Hiramatu that make it
1728 supports Content-Transfer-Encoding: x-uuencode (thanks!).
1733 src/prefs_common.[ch]: implemented the external editor faculty.
1734 * src/compose.c: compose_attach_property(): fixed some bugs on
1735 changing the property of attached file.
1736 * src/compose.c: fixed some bugs of external editor functions.
1743 src/prefs_common.[ch]
1744 src/summaryview.c: applied the patch from Paul Rolland that
1745 restores the size of widgets when restarting (thanks!).
1747 src/prefs_common.[ch]
1748 src/summaryview.c: applied the patch from Paul Rolland that saves
1749 the width of CTree columns (thanks!).
1753 * src/headerview.c: modified the height of HeaderView.
1754 * src/textview.c: textview_show_part(): made it process the message
1755 as normal text if it is single-part RFC822 message.
1757 src/summaryview.c: some changes around the key handling.
1758 * src/prefs_common.[ch]: substituted the word `assort' with `filter'.
1762 * src/codeconv.[ch]: added conv_latintodisp() for ISO-8859-1 support.
1763 * src/procheader.c: procheader_get_one_field(): fixed a bug that
1764 caused segmentation fault if the first line of the file is space
1765 or tab (thanks to Hiramatu).
1766 * src/mimeview.c: mimeview_drag_data_get(): modified so that the
1767 filename doesn't include G_DIR_SEPARATOR (thanks to Hiramatu).
1768 * src/prefs_account.c
1769 src/prefs_common.c: modified the dialog size.
1770 * src/prefs.c: made the dialog window growable.
1776 * configure.in: removed unnecessary AC_CHECK_FUNC(gettext) that
1777 caused the failure of the detection of libintl.
1779 src/prefs_common.c: implemented `not contain', and modified for
1781 * src/imageview.c: changed alertpanel_error() to g_warning() so that
1782 it doesn't grab mouse events.
1783 * src/compose.[ch]: added compose_list that holds the list of
1784 Compose objects, and added the function compose_get_compose_list().
1787 src/summaryview.c: made it confirm if composing message exists.
1791 * src/compose.c: compose_reply_set_entry(): fixed a bug that caused
1792 segmentation fault when trying to reply the message in the queue
1793 folder (thanks to Kotobuki).
1794 compose_attach_property(): modified the property dialog routine
1795 so that it can handle input error.
1796 * src/mimeview.c: applied the patch from Hiramatu that enables
1797 the drag 'n drop from MimeView (thanks!).
1798 * src/headerview.[ch]
1800 src/procmsg.h: applied the patches for X-Face support from
1801 HIROSHIMA (thanks!).
1805 * src/compose.c: compose_attach_property(): modified so that the
1806 property dialog can actually change the property of attached file.
1811 src/Makefile.am: updated for gdk_imlib.
1812 * added AUTHORS and NEWS.
1815 src/Makefile.am: modified so that configure auto-detects gdk-pixbuf
1816 and gdk_imlib library. And fixed a bug on IPv6 detecting.
1817 * src/imageview.c: supported gdk-pixbuf.
1821 INSTALL.jp: added the mention about built-in image view.
1822 * configure.in: modified so that configure can disable gdk-pixbuf
1823 or/and gdk_imlib library.
1827 * src/imageview.[ch]
1829 src/messageview.[ch]
1830 src/mimeview.[ch]: applied the patches from HIROSHIMA that enables
1831 to display image (thanks!).
1837 * src/summaryview.c: summary_assort_func(): modified to avoid
1838 `not receive' setting.
1842 * src/filesel.c: applied the patch from HIROSHIMA that makes it
1843 remember previous directory when opening the dialog (thanks!).
1844 * src/summaryview.[ch]: added a function summary_redisplay_msg().
1845 * src/mainwindow.c: set_charset_cb(): made it redisplay the message
1846 that is currently shown when the character set is changed.
1850 src/filter.h: applied the patch from Tanaka that enables not to
1851 receive specified messages according to the sorting rule (thanks!).
1855 * src/procmsg.[ch]: added MSG_MIME to the type MsgFlags. And modified
1856 so that it handles MSG_MIME flag, and it scans uncached messages
1857 when cache reading failed even if it is specified not to scan
1859 * src/procheader.c: procheader_parse(): added the determination of
1860 multipart MIME message.
1861 * src/main.h: increased CACHE_VERSION.
1862 * src/summaryview.[ch]: added the `MIME' column that shows whether
1863 a message is multipart or not.
1864 * src/prefs_common.[ch]: added the `MIME' column to the setting of
1866 * added src/pixmaps/clip.xpm.
1868 src/procmsg.[ch]: modified so that it prompts the print command
1873 * src/folderview.c: folderview_create()
1874 src/summaryview.c: summary_create():
1875 src/addressbook.c: addressbook_create(): set the expander style of
1876 CTree to GTK_CTREE_EXPANDER_SQUARE.
1877 * src/compose.c: modified the interface of property dialog.
1881 * src/compose.c: added property dialog for attached file.
1885 * src/procmsg.[ch]: added a function procmsg_print_message() that
1886 prints the given message.
1887 * src/summaryview.c: summary_print(): modified so that it prints
1888 all selected messages.
1889 * src/folderview.c: folderview_select_node(): fixed a bug that
1890 didn't focus on folder tree if inbox was empty when incorporating.
1896 * src/prefs_commmon.[ch]: added `Other' tab and an option for
1897 printing. And moved external browser option to there.
1899 src/summayview.[ch]: added print menu and implemented print
1904 * src/prefs_account.c: made the default value of smtp_server to
1906 * src/folderview.c: folderview_update_msg_num(): modified so that
1907 it doesn't emphasize trash folder even if it has new or unread
1912 * src/filesel.c: filesel_select_file(): (perhaps) fixed a bug that
1913 caused segmentation fault when file selection dialog was closed
1914 and other dialog was open immediately.
1918 * src/compose.c: compose_encode_header(): fixed a bug that caused
1919 infinite loop if wctomb() failed.
1925 * src/mimeview.c: enabled to open an attached file with double click
1926 and popup menu. And cleaned up the code.
1927 * src/procmime.[ch]: added a function procmime_get_part() that
1928 saves the part of multipart message.
1934 src/prefs_common.[ch]
1936 src/utils.[ch]: applied a patch that enables to launch attached
1937 image, audio, and HTML file (thanks to Hashimoto).
1938 * src/filter.c: filter_match_condition(): fixed a bug that caused
1939 segmentation fault if the body of specified filter is NULL. And
1940 made the filter considered as being matched on that case.
1944 * src/summaryview.c:
1945 summary_save_as(): fixed a bug that unabled to save news articles.
1946 summary_display_msg(): added exclusive lock to prevent it from
1947 reading another news article while it is already processing one.
1948 * src/gtkutils.[ch]: added gtkut_widget_wait_for_draw() that waits
1949 the draw signal to be emitted.
1951 main_window_cursor_wait()
1952 main_window_cursor_normal(): added gdk_flush() to change cursor
1955 libkcc/Makefile.am: added EXTRA_DIST for `make dist'. And added
1956 a target `release' to Makefile.am.
1960 * src/socket.c: supported IPv6.
1962 acconfig.h: added checking for IPv6.
1963 * prefs_common.c: changed the default of toolbar_style to icon only.
1967 * initial cvs import.
1968 * updated README and README.jp.
1974 * src/procmime.[ch]: modified the structure of MimeInfo so that it
1975 can be handled as a node of tree.
1976 Added procmime_mimeinfo_free_all() that frees all of the MimeInfo
1978 Added procmime_get_text_part() that scans a message and gets a text
1980 * src/mimeview.c: divided mimeview_scan_multipart_message() into
1981 procmime_scan_multipart_message() and mimeview_set_multipart_tree().
1982 * src/compose.c: compose_quote(), compose_forward():
1983 made it quote the text part of multipart message properly.
1984 Made it preserve the size of Compose window.
1985 * src/prefs_common.[ch]: added compose_width and compose_height to
1987 * src/textview.c: textview_show_part(): some code cleanups.
1988 * src/codeconv.[ch]: added a function conv_get_code_conv_func().
1994 * src/codeconv.[ch]: fixed a bug that showed garbage characters if
1995 the return code of the message was CR+LF. And added
1997 * src/summaryview.c: summary_attract_by_subject(): made it move
1998 the current view point to the selected row when executed.
1999 * src/textview.c: textview_show_part(): modified the character set
2000 determination routine.
2001 * src/folderview.c: folderview_update_msg_num(): fixed a bug that
2002 caused segmentation fault if boldfont was NULL.
2003 * src/compose.c: compose_create(): made it sets itself as the target
2004 of addressbook on window creation.
2008 * src/compose.c: compose_send(): fixed a bug that didn't save
2009 queued message to outbox when failed to send the message (thanks
2014 * src/inc.[ch]: modified so that it changes error message dialog
2015 depending on the results.
2019 * src/mainwindow.c: main_window_create(): set usize of account
2020 button on the status bar to 1 so that it doesn't get expanded
2021 more than necessary.
2022 * src/account.[ch]: account_foreach(): made it abort the iteration
2023 if the function returns nonzero.
2025 src/pop.c: modified so that it shows error message dialog if the
2026 message processing is failed.
2032 * src/mainwindow.c: made it popup account selection menu when
2033 account tool button or account status bar is pressed.
2035 src/prefs.c: suppressed the ENOENT perror messages.
2036 * src/pop.c: made it fall back on LAST command if UIDL failed.
2040 * src/procheader.c: procheader_parse(): fixed a bug that didn't
2041 parse References: header correctly (thanks to YAMAGUCHI).
2047 * src/compose.c: compose_reply_set_entry(): fixed a bug that didn't
2048 cc'd correctly when replying.
2050 src/summaryview.c: sorted out the main menu and the popup menu.
2056 * src/prefs_account.[ch]
2057 src/compose.c: made it be able to set Cc:, Bcc:, and Reply-To:
2058 automatically at composing (thanks to NAKAGAWA).
2062 * src/prefs_common.[ch]
2064 src/main.c: made it selectable whether to ask before cleaning
2066 * src/prefs_common.c: cleaned up the code and the interface a bit.
2067 * src/summaryview.c: modified the unthread functions for speeding
2072 * src/prefs_common.[ch]
2073 src/summaryview.c: made it display recipient on the `From' column
2074 if the address of the sender is the same as the current account
2075 (thanks to NAKAGAWA).
2076 * src/utils.[ch]: added a function extract_address() that extracts
2077 the address from `From:' header string.
2078 * src/mainwindow.c: allsel_cb(): fixed a bug that caused segmentation
2079 fault if `Edit/Select all' was selected when the message view was
2080 hidden (thanks to Tomita).
2084 * src/summaryview.c: modified execution routine so that it only
2085 unthreads nodes that are needed to be unthreaded.
2089 * src/news.c: news_session_get(): implemented the reconnection on
2091 * src/nntp.[ch]: added nntp_mode().
2095 * src/mbox.c: fixed a bug that didn't close mbox FILE pointer.
2096 And support assortment on processing mbox.
2097 * src/inc.c: inc_drop_message(): modified so that it uses hash table
2098 to store the last message number of folders.
2100 src/addressbook.c: modified the behavior of CTree at right-click.
2101 * src/pop.c: pop3_getrange_uidl_recv(): fixed a potential buffer
2102 overflow bug (thanks to Nishiyama).
2109 src/inc.[ch]: implemented management of read message on POP server
2111 * src/utils.[ch]: removed (s)list_remove_all() because it can be
2112 replaced with g_(s)list_free().
2113 * src/summaryview.c: modified the arrangement of menu a bit.
2114 * src/summaryview.c: summary_status_show(): made it doesn't display
2115 server name but newsgroup.
2116 * src/prefs_common.c
2117 src/prefs_account.c: adjusted the calculation routine of dialog
2124 * src/compose.c: compose_reply_set_entry(): modified so that it
2125 cc's to the all addresses on To: and Cc: of the replied message.
2126 And swapped the position of Subject: and To: entry.
2130 * src/procheader.c: modified so that it can handle headers that
2131 aren't separated by space.
2132 * src/socket.c: sock_connect(): added a wait after connection to
2133 prevent lockup (thanks to NINOMIYA).
2139 inc_all_account_mail(): fixed a bug that caused segmentation
2140 fault if no account exist.
2141 * src/mainwindow.[ch]: made receive button unclickable when
2143 * src/compose.c: compose_queue(): fixed a bug that didn't mark
2144 queued message properly.
2145 * src/utils.[ch]: separated code conversion functions into
2152 * src/mimeview.c: mimeview_save_as()
2153 src/summaryview.c: summary_save_as(): made it ask whether to
2154 overwrite the existing file.
2165 src/mbox.c: fixed a bug that failed to check write error when
2166 disk was full and caused the loss of the file.
2170 * src/mainwindow.c: main_window_clean_trash(): made it move focus
2171 to folder view when finished.
2172 * src/utils.[ch]: added code conversion functions for display.
2173 And added strncpy2() that doesn't do zero fill and does
2174 null-termination, unlike original strncpy().
2175 * src/textview.c: modified so that it changes the code conversion
2176 function according to charset. And supported charset=SHIFT_JIS.
2179 src/textview.c: made it possible to force character set of
2181 * src/folderview.c: folderview_select_next_unread():
2182 made it search unread folder from begin if it isn't found.
2188 * src/mainwindow.c: fixed a probrem again that main window was
2189 stretched to the width of the toolbar.
2191 src/utils.c: is_header_line(): modified so that it recognizes
2192 a header which doesn't have a space after colon (thanks to Hotta).
2193 * src/filter.c: added `#include <strings.h>'.
2194 * src/smtp.c: replaced snprintf() with g_snprintf().
2195 * src/Makefile.am: added `-I$(top_srcdir)/intl' to INCLUDES for
2197 * included sylpheed.spec.
2201 * src/prefs_common.[ch]: enabled to set the pixels of line space
2202 and decide whether to leave space on head of lines.
2203 * src/summaryview.c: modified so that it clears message view
2204 when displayed message is removed from the summary view.
2205 * src/mimeview.c: fixed a bug that caused infinite loop if
2206 terminal boundary of multipart message was not found (thanks to
2208 * src/folderview.c: folderview_scan_mailbox(): made it ignore
2210 * src/main.c: made it show warning dialog and exit if the file with
2211 the same name already exists when creating directory.
2216 src/prefs_common.[ch]: made it possible to leave space between
2217 and on head of lines.
2222 src/procmime.[ch]: made it scan /etc/mime.types and determine
2223 the MIME type of the attached file.
2224 * src/summaryview.c: made it clear message view if the summary
2225 is unselected on the execution, and made it move focus to
2226 folder view if the folder becomes empty.
2227 * src/mainwindow.c: fixed a probrem that main window was stretched
2228 to the width of the toolbar.
2229 * src/inc.c: fixed a bug that caused multiple gtk_main() event loop
2230 if `Check new mail on startup' was set.
2234 * src/compose.c: fixed a probrem that had been unable to insert
2235 a file to the current cursor position.
2241 * src/compose.[ch]: added `attach' button to the toolbar. And
2242 replaced the icon of `insert' to the new one.
2246 * src/mainwindow.[ch]: added `Execute' to the toolbar. And added
2247 a function main_window_set_toolbar_sensitive() that sets the
2248 sensitivity of the button of the toolbar.
2249 * src/compose.c: fixed a bug that output wrong header if
2250 a return code was included in the string of the text entry.
2254 * src/mainwindow.[ch]: added `Delete' to the toolbar and the menu.
2255 And added the same items in popup menu to the main menu.
2256 * src/utils.[ch]: added functions for DnD support.
2257 * src/compose.c: implemented file attachment and insertion with DnD
2258 (thanks to Hiramatu).
2264 * src/summaryview.c: fixed a bug that passed null pointer to
2269 * src/alertpanel.[ch]: added functions alertpanel_message(),
2270 alertpanel_notice(), and alertpanel_error(), and cleaned up
2276 src/summary_search.c
2278 src/foldersel.c: made them use alertpanel_error(),
2279 alertpanel_warning() or alertpanel_notice() for error message
2281 * src/summaryview.[ch]: enable sorting in reversed order.
2282 * src/inc.c: made it show error message dialog when failed to
2283 connect or authorize.
2284 * src/utils.h: added a macro FILE_OP_ERROR() and replaced many
2291 * src/compose.c: fixed a bug that didn't save a message to outbox
2293 * src/send.c: send_message_queue(): fixed a bug that included
2294 headers for queueing in the parsed data.
2295 * src/mainwindow.c: send_queue_cb(): made it pop statusbar message
2296 and update queue folder when finished.
2304 src/compose.c: suppressed the warning messages.
2305 * src/mainwindow.[ch]: added next unread message button and menu
2307 * src/summaryview.[ch]: added a function summary_select_next_unread()
2308 that selects and opens next unread message.
2312 * src/prefs_common.[ch]: added a setting to decide whether to open
2313 unread message on entering a folder.
2314 * src/summaryview.c: made it open the first unread message only if
2315 the preference is set.
2316 * src/compose.c: fixed a bug that freed the string obtained from
2321 * src/compose.c: added `Send later' to the menu and the toolbar
2322 which queues the message to send it later.
2326 * src/mainwindow.c: added an interface to resend the queued message.
2327 * src/compose.c: made it show alert dialog when a message will be
2332 * src/procmsg.[ch]: added function procmsg_send_queue() that calls
2333 send_message_queue() for each queued messages.
2337 * src/inc.c: inc_drop_message(): modified so that it drops a message
2338 to the default inbox folder if destination folder doesn't exist.
2339 * src/compose.[ch]: added imput compatible queueing header to the
2341 * src/send.[ch]: added function send_message_queue() that send
2347 acconfig.h: made it enabled to decide wheter to use multithread
2348 or not on configure.
2349 * src/summaryview.c: fixed a bug that made thread when executed
2350 despite of the setting (thanks to Hiroshima).
2351 * src/socket.[ch]: changed the return value of public
2352 sock_connect_*() function to the pointer to SockInfo object.
2353 * src/procmime.c: procmime_scan_mime_header():
2354 fixed a bug that returned NULL if the scanned part had no header
2355 (thanks to shigeri).
2356 * src/procmime.[ch]:
2357 added function procmime_scan_content_disposition() that parses
2358 Content-Disposition header field.
2359 * src/mimeview.c: made it uses filename value in Content-Disposition
2362 * src/inc.c: modified so that password is prompted if the password
2363 on preferences is empty and previous POP3 session has failed on
2368 * src/socket.[ch]: added non-blocking IO mode socket and
2369 multithreaded connection support.
2370 * src/inc.c: supported multithread connection.
2374 * src/folderview.c: made the focus of SummaryView grabbed when
2375 a folder is selected only if the messages exist.
2381 * po/ja.po: fixed a bug that head `/' of a menu label was missing
2382 and caused segmentation fault when opened Compose window.
2388 * src/utils.c: get_domain_name(): modified so that it uses
2390 * src/mimeview.c: added key binds for `Save as' and
2395 * src/recv.c: fixed a bug that failed to return error value
2396 when fputs() failed and caused the loss of received mails when
2397 disk space was not left (thanks to Tajiri).
2398 * src/compose.c: supported Reply-To.
2399 * src/mimeview.c: improved key operation interface.
2405 src/textview.[ch]: supported nested multipart message and
2407 Supported encapsulated RFC822 message.
2411 * src/compose.[ch]: made it free the alloc'd memory for attach
2412 information when the compose window is destroyed.
2413 Placed the attachment list and the text widget onto the paned
2415 Enabled cut/copy/paste/select all on all of the editable widgets.
2416 Implemented removal of attached file and popup menu on attachment
2418 * src/prefs_common.[ch]: added signature separator setting.
2419 * src/alertpanel.[ch]: added a function alertpanel_warning().
2423 * src/prefs_common.[ch]
2424 src/textview.c: made open URI command customizable.
2425 * src/compose.[ch]: implemented multipart MIME message composition
2426 (attachment of file).
2428 src/compose.c: fixed a bug that didn't turn off the GTK+ theme
2435 * src/summaryview.c: added key binds for composing message
2436 (w, a, A, f). Also added other key binds (y, D, Q).
2437 * src/compose.c: made Cc entry take over the Cc of the replied
2439 * src/pixmaps/new.xpm
2440 src/pixmaps/unread.xpm: replaced pixmap image.
2441 * src/procheader.c: procheader_date_get_localtime():
2442 changed the single figures of year from four to two.
2446 * src/inc.c: made it ask password if it is not specified on account
2448 * src/prefs_account.h: added member tmp_pass to struct PrefsAccount
2449 that preserves the temporary password.
2450 * src/inputdialog.[ch]: added function input_dialog_with_invisible()
2451 that prompts input with the string hidden.
2455 * src/compose.c: fixed a bug that didn't turn off the GTK+ theme
2456 engine if message font wasn't specified.
2462 * src/summaryview.c: fixed a bug that stderr was forgotten on
2469 * src/pop.c: fixed a problem that if some POP3 commands returned
2470 error, the previous operations were all cancelled.
2472 src/textview.c: made workaround to the slow down of GtkText widget
2473 when using Pixmap theme or its derivatives.
2477 * src/inc.c: fixed a bug that caused X IO error when exec'd
2478 nonexistent program.
2482 * src/folderview.[ch]: added the member `mtime' to the struct
2484 * src/summaryview.c: made the mtime of the folder checked that is
2486 * src/procmsg.c: added filesystem unchecking mode.
2490 * src/textview.[ch]: implemented clickable URI (thanks to BONAIM).
2491 And made `X-Mailer:' header emphasized if it contains `Sylpheed'.
2495 * src/summaryview.c: summary_write_cache(): permission fix of
2502 * src/headerview.c: added headerview_clear() method.
2503 * src/messageview.c: fixed a bug that didn't clear HeaderView
2504 on messageview_clear().
2511 src/textview.c: added *_clear() method.
2512 * src/summaryview.c: made it clear MessageView when new folder
2517 * src/inc.c: fixed a bug that went to the inbox that was specified
2518 by each account when incorporating from all accounts.
2519 * src/compose.c: made it confirm whether to discard the message or
2520 not when the window will be closed.
2527 src/inc.[ch]: re-supported APOP authentication.
2528 * src/prefs_account.c: fixed a bug that had't saved protocol type.
2530 src/statusbar.h: attached G_GNUC_PRINTF() to printf() like
2532 * src/progressdialog.[ch]: changed the name of class from Progress
2537 * src/summaryview.c: fixed a bug that caused segmentation fault
2538 a news folder was selected without using ja message catalog.
2539 * src/utils.h: attached G_GNUC_PRINTF() to printf() like functions.
2540 * src/Makefile.am: added `-DG_LOG_DOMAIN=\"Sylpheed\"' to
2545 * src/automaton.[ch]
2547 src/pop.[ch]: re-implemented POP3 fetching routines using
2548 finite-state automaton model (thanks to Hiramatu).
2549 * src/inc.c: fixed a bug that caused unwilled quitting of program
2550 when connection to mail server failed. And fixed a memory leak bug.
2551 * src/summaryview.c: made the focus move to FolderView when left
2552 cursor key is pressed.
2556 * src/textview.c: textview_write_line(): modified quotation
2557 discerning routine a bit.
2563 * src/procmime.[ch]: moved MIME decorder from src/textview.c to
2565 * src/mimeview.[ch]: implemented saving of multipart message. And
2566 supported MIME encoded file name.
2567 * src/summaryview.c: implemented `Save as'.
2571 * src/prefs_common.[ch]: implemented an interface for setting the
2572 display item of SummaryView.
2574 src/account.c: made the column titles of those don't take key
2579 * src/textview.c: implemented BASE64 decoding and display.
2583 * src/prefs_common.[ch]: added members which decide whether
2584 each item of SummaryView is displayed or not.
2585 * src/headerwindow.c
2586 src/logwindow.c: made those windows closed when escape key is
2588 * src/headerview.c: disused ScrolledWindow.
2589 * src/base64.c: from64tobits(): modified so that it recognize '\n'
2590 as the last of line as well as '\r'.
2594 * src/headerview.c: disabled word wrap and line wrap of the text
2601 * src/prefs_common.c: prefs_assort_create(): added some headers
2602 to the default headers for assortment.
2606 * src/procmsg.c: fixed a bug that caused segmentation fault if
2607 the permission of a message was denied on parsing the header
2608 (thanks to wakai@UEC univ.).
2609 * src/mimeview.c: made it pass key press event to SummaryView.
2614 src/alertpanel.c: modified font specifications so that they match
2616 * src/utils.[ch]: added wide-character functions for FreeBSD support.
2617 Added the existence check of <wchar.h>.
2619 configure.in: added wint_t and libxpg4 check for FreeBSD support.
2620 * src/unmime.c: modified so that it checks the existence of
2622 Above three are a contribution from Sasaki. Thanks!
2626 * src/main.h: decreased default height of window.
2630 * src/procmime.c: fixed a bug that eliminated the parenthesis in
2631 attribute value that was double-quoted.
2637 * src/mimeview: implemented multipart message parser and display.
2638 * src/procmime.c: procmime_scan_content_type():
2639 supported multiple elements.
2640 * src/textview.c: supported multipart message and clean up the code.
2644 * src/summaryview.c: added size column and sorting by size.
2645 * src/mainwindow.c: added `Sort by size' to sort menu.
2646 * src/procmime.c: fixed a bug that caused buffer overrun and
2648 * src/procmime.c: generalized Content-Type parsing.
2654 * src/textview.c: supported MIME headers and
2655 Content-Transfer-Encoding: quoted-printable.
2659 * src/messageview.[ch]
2660 src/textview.[ch]: separated MessageView into two classes.
2661 * src/procmime.[ch]: added for MIME message handling.
2665 * src/mimeview.[ch]: added for MIME message handling.
2666 * configure.in: added wctype.h and wchar.h existence check.
2671 src/procheader.[ch]: some code cleanups.
2672 * src/messageview.[ch]: integrated HeaderView.
2680 * src/addressbook.c: Made the tree sorted when folder/group is
2682 * src/xml.c: xml_compare_tag(): fixed a bug that caused segmentation
2683 fault if the current tag was empty.
2684 * src/mainwindow.c: made the state of MainWindow saved.
2690 * src/addressbook.c: fully implemented address group editing.
2691 Fixed a bug that wrongly confirmed deletion of address when
2692 escape key was pressed on alert dialog.
2696 * src/addressbook.c: added menu bar. And enabled hierarchical
2698 * src/prefs_account.c: modified so that it allows not to specify
2700 * src/inc.c: inc_account_mail(): modified so that if receiving
2701 server isn't specified, it does nothing.
2707 * src/addressbook.c: almost fully implemented addressbook functions.
2711 * src/compose.c: fixed a bug that caused segmentation fault when
2712 `File->Insert file' was selected more than twice.
2718 * src/addressbook.[ch]: implemented creation of new folder and group,
2719 and deletion of folder and group. And fully implemented
2720 addressbook_delete_object() which deletes the specified object
2725 * src/addressbook.c: implemented registration of address and multiple
2726 appending to Compose address entry.
2727 * src/menu.[ch]: added a function menu_set_insensitive_all() that
2728 turn all menu items insensitive.
2729 * src/folderview.c: some code cleanup.
2734 src/prefs_common.c: fixed a bug on getting the number of CList
2741 * src/folderview.c: fixed a bug that caused warnings when tree was
2742 expanded/collapsed on the first operation.
2746 * src/addressbook.c: addressbook_list_selected(): made it be able
2747 to handle multiple address.
2748 * src/compose.c: modified so that when Bcc: is toggled, corresponding
2749 AddressBook also toggle it.
2751 main_window_create(): moved gtk_widget_set_uposition() before
2752 gtk_widget_show() so as not to cause window flickering.
2753 main_window_get_position(): replaced gdk_window_get_position()
2754 with gdk_window_get_root_origin() to acquire correct window
2755 position (Thanks to shigeri for these modifications).
2759 * src/filesel.c: made it selects home directory on the first time
2764 * src/utils.c: conv_mb_alnum(): modified so that it uses character
2766 * src/foldersel.c: made the folder tree take focus when the dialog
2773 * src/addressbook.c: implemented addressbook_export_to_file() and
2779 src/addressbook.c: fixed the variable name for attribute.
2780 * src/prefs_common.[ch]: added a member `conv_mb_alnum'.
2781 * src/utils.[ch]: added conv_mb_alnum() that converts multi-byte
2782 alphabet and numeric into single-byte one.
2783 * src/messageview.c: messageview_show(): made it pass conv_mb_alnum()
2784 when conv_mb_alnum flag is on.
2790 * src/compose.c: modified so that when Addressbook is open by a
2791 Compose and it is closed, target of Addressbook is reset.
2792 * src/addressbook.c: made it work with Compose.
2796 * configure.in: AM_PATH_{GLIB, GTK}: raised the required version of
2797 GTK+ and GLIB to 1.2.6.
2798 * src/xml.[ch]: more implementation of XML parser.
2799 * src/addressbook.c: implemented addressbook parsing and displaying
2804 * src/folderview.c: folderview_scan_folder(): modified so that if
2805 a folder's message number is zero, set new, unread and total number
2810 * src/xml.[ch]: added for XML handling used by addressbook.
2811 * src/folderview.c: modified so that Trash folder is skipped
2812 when an unread folder is selected automatically by space key.
2816 * src/summaryview.c: fixed a bug that cursor was turned into watch
2817 forever when a newsgroup was selected.
2825 * src/mainwindow.[ch]: implemented counting on setting cursor
2826 type. And modified the menu of `thread view' and `unthread view'.
2827 * src/summaryview.c: enabled thread-toggling on opening folder.
2828 * src/prefs_common.[ch]: added a member `enable_thread' to determine
2829 whether summary view builds thread or not when a folder is open.
2833 * src/summaryview.c: modified popup sensitivity function a bit.
2839 * src/addressbook.[ch]: more implementation of the interface of
2841 * src/compose.c: connected to addressbook object.
2842 * src/folderview.[ch]: folderview_compare_path():
2843 modified so that absolute path is correctly compared.
2844 And added folderview_select_node().
2845 And modified folderview_scan_folder() so that it update the summary
2847 * src/import.c: made it update folder tree when imported mbox.
2848 * src/summaryview.c: modified according to the changes of
2849 folderview.c. And modified so that it display alert dialog if
2850 source folder is identical to destination.
2851 added summary_set_popup_sensitive() that set the sensitivity of
2852 popup menu according to the context. And made all of the items of
2853 popup menu insensitive when summary is cleared.
2854 * src/procmsg.c: procmsg_move_messages_with_dest():
2855 modified so that if source folder is identical to destination,
2857 * src/summary_search.c
2858 src/manage_window.c: modified so as not to print warning to console
2859 when alert dialog appeared twice.
2860 * src/filesel.c: made file selection dialog transient.
2864 * src/manage_window.[ch]: added callback function
2865 manage_window_focus_out().
2871 src/summary_search.c: added focus_out_event signal handler.
2872 * src/addressbook.[ch]: added preliminary addressbook code.
2876 * src/utils.h: added a macro Xalloca() that does alloca() and
2877 handles the exception.
2878 * src/import.c: made the import dialog transient window and enabled
2879 cancelling by escape key.
2885 * src/compose.c: fixed a bug that caused memory leak when compose
2890 * src/nntp.h: increased NNTP message buffer size for XOVER strings
2895 * src/summaryview.c: binded step-forward and step-backward to each
2896 Control-n and Control-p.
2897 * src/filter.c: filter_read_str(): fixed a memory leak bug and
2898 replaced g_malloc() for allocating the buffer with alloca().
2899 * src/procheader.c: procheader_get_fromname(),
2900 procheader_date_get_localtime()
2901 src/utils.c: conv_euctojis()
2902 src/compose.c: compose_quote_parse_fmt()
2903 src/prefs.c: prefs_set_data_from_text()
2904 prefs_set_text(): replaced g_malloc() with alloca().
2910 * src/logwindow.c: improved log_window_append() so that it shows
2911 warning, error and normal message with different colors.
2912 * src/utils.[ch]: added functions log_message(), log_warning(), and
2913 log_error() that show normal message, warning, and error for each.
2914 And modified many warning messages to use these.
2915 * src/messageview.c: messageview_init(): made it set colors of
2916 quotation and URI to black when failed to allocate colors.
2917 * src/news.c: news_parse_xover(): replaced g_malloc() for allocating
2918 the buffer with alloca().
2922 * src/folderview.c: fixed a bug that didn't put previously selected
2923 folder name in text entry. In addition to that, made some
2930 * src/logwindow.[ch]: added log window that displays protocol log.
2931 * src/about.c: adjusted the size of dialog.
2932 * src/folderview.c: made it select a folder when double-clicked.
2936 * src/prefs_common.[ch]: added an item `translate_header' that
2937 decides whether header name like `From:' or `Subject:' is
2939 * src/compose.c: made it show alert dialog when receiptor isn't
2941 * src/inc.c: some code cleanups.
2947 * src/compose.c: made header entries move those focus to next
2948 entry or text widget when activated. And sorted out the menu items.
2949 * src/mainwindow.[ch]
2950 src/prefs_common.[ch]
2951 src/main.c: made it save the sizes of widgets and the position of
2952 window when quitting.
2953 * src/prefs_common.c: set a14, k14 fontset as default message font.
2954 * src/about.c: changed the appearance of about dialog using text
2956 * src/recv.c: modified recv_write() so that it converts an escaped
2963 * src/compose.[ch]: supported Bcc.
2969 * src/utils.[ch]: added function to_number() that examines string
2970 and if that is a number string, return its value.
2971 * src/procmsg.c: fixed a bug that caused malfunction when non-digit
2972 character was included in file name.
2978 * src/folderview.c: fixed a bug that caused segmentation fault
2979 when opened folder node was deleted (thanks to Hiramatu).
2980 And implemented folderview_rm_server_cb() which removes news server.
2981 * src/mbox.c: modified a warning message.
2985 * version 0.2.0alpha-pre8
2987 * src/mainwindow.c: inc_all_account_mail_cb(): made it select inbox
2988 folder to prevent the probrem when current folder is updated.
2989 * src/summaryview.c: summary_execute(): made it write to summary
2990 cache when executed.
2994 * version 0.2.0alpha-pre7
2996 * src/utils.[ch]: added path_cmp() that compares two paths ignoring
2997 trailing directory separator.
2998 * src/folderview.[ch]
2999 src/summaryview.[ch]: modified so that folder tree is updated
3000 when messages are moved or deleted.
3001 * src/inc.c: some code cleanup.
3005 * version 0.2.0alpha-pre6
3007 * src/utils.[ch]: added get_domain_name() that return domain
3008 name as a static string.
3009 * src/compose.c: compose_generate_msgid(): modified so that even
3010 if current address doesn't contain '@', it generates a decent
3012 * src/send.c: some code cleanup.
3016 * src/folderview.c: modified the behavior of folder tree when
3017 the folder is right-clicked.
3018 * src/compose.c: compose_encode_header(): added irresponsible
3019 buffer overrun check.
3023 * version 0.2.0alpha-pre5
3025 * updated gettext and libtool.
3026 * configure.in: modified localedir definition so that message
3027 catalogs are installed into correct directories.
3029 src/mainwindow.c: modified them so that a folder can be reopen
3030 even if it is currently open.
3031 * src/prefs_common.[ch]
3032 src/messageview.c: added an option that toggle the coloration of
3037 * version 0.2.0alpha-pre4
3040 src/messageview.c: fixed a bug that broke memory on allocating
3045 * src/folderview.c: some bug fixes on selecting folder.
3049 * version 0.2.0alpha-pre3
3052 * src/summaryview.[ch]: some code cleanups.
3053 * src/messageview.c: fixed a color allocating bug (maybe).
3057 * version 0.2.0alpha-pre2
3059 * src/folderview.[ch]: made folder view not open selected folder
3060 unless return or space key is pressed, or clicked by mouse
3062 * src/inc.c: some code cleanups.
3063 * TODO.jp: added some items.
3067 * version 0.2.0alpha-pre1
3069 * src/summaryview.[ch]: fixed a bug that broke summary thread
3070 when deleted duplicated messages (thanks to BONAIM).
3071 And some code cleanup.
3072 * src/procmsg.[ch]: renamed procmsg_move_messages() to
3073 procmsg_move_messages_with_dest(), and replaced former with
3074 new function which doesn't specify destination.
3075 * src/prefs_common.c
3076 src/gtkutils.c: some memory leak fixes of linked lists.
3077 * src/utils.[ch]: added list_remove_all() to remove all elements
3078 of doubly-linked list.
3079 * src/inc.[ch]: added inc_all_account_mail() that incorporates
3080 new messages of all accounts.
3081 * src/account.[ch]: added account_foreach() to process each accounts.
3086 * version 0.1.23alpha
3088 * src/inc.c: made the folder tree update the message number
3089 when incorporated new messages.
3090 * src/folderview.[ch]: added a function folderview_scan_folder()
3091 to scan one folder on the view, which is specified by folder name.
3095 * version 0.1.22alpha
3097 * src/prefs_account.[ch]: added the setting of assorting on
3099 * src/inc.c: supported assorting on receiving.
3100 * src/procmsg.c: cleaned up the code.
3101 * src/news.c: fixed a bug that locked up when failed to get xover.
3102 * src/compose.c: made a message unmark that is put into specific
3107 * version 0.1.21alpha
3110 src/summaryview.c: implemented the function 'go to next folder
3111 when no unread message found.'
3112 * src/summaryview.c: made connection state displayed on the
3113 status bar when connecting to a news server.
3114 * src/compose.c: changed X-Mailer: header field string a bit.
3115 * src/prefs_common.c: implemented residual functions of assortment.
3119 * version 0.1.20alpha
3121 * src/prefs_common.c: implemented reading/writing/register/deletion
3122 of assortment setting.
3123 * src/mainwindow.c: slightly modified the appearance of statusbar.
3124 * src/account.c: account_delete(): fixed a bug that didn't assigned
3125 the pointer to GList when an account was deleted.
3129 * src/procmsg.c: procmsg_get_mark_sum(): fixed a bug that failed
3130 to read mark file (thanks to BONAIM).
3131 * src/prefs_common.c: added the interface of assortment setting.
3135 * src/summaryview.c: fixed a bug that didn't redraw marking properly
3136 when displaying an unread message with left-click (thanks to
3141 * src/summaryview.[ch]: added functions for assortment.
3142 * src/about.c: added a button to close window.
3146 * src/procmsg.c: fixed a bug that didn't add news flag correctly.
3147 * src/compose.c: fixed a bug that can't reply to a news article.
3148 * src/filter.[ch]: added for message filtering.
3149 * src/procheader.[ch]: added procheader_get_unfolded_line()
3150 to process filtering. And added procheader_get_header_list()
3151 that reads headers of a message and store them on the memory,
3152 and procheader_header_list_destroy() that removes all headers
3153 read by procheader_get_header_list().
3157 * version 0.1.19alpha
3159 * src/news.c: modified so that it retrieves only overview information
3160 that is not yet cached.
3161 * src/procmsg.[ch]: modified for news handling.
3165 * src/news.c: supported xover.
3166 * src/mbox.c: fixed a bug that didn't handle empty line correctly
3167 (Thanks to shigeri).
3171 * version 0.1.18alpha
3173 * src/procmsg.[ch]: modified some functions so that they can
3175 * src/news.c: added header cache routine.
3176 * src/procheader.c: fixed a bug that caused memory leak when some
3177 header was duplicated.
3178 And added Newsgroups: in parsing headers.
3179 * src/summaryview.c: added news article cache routine.
3180 * src/compose.c: made it be able to reply/forward news article.
3184 * src/compose.c: fixed a bug that failed to parse To: header
3185 if a comma is included in double quotation (Thanks to shigeri).
3186 * src/mbox.c: modified the code for processing mbox so that it
3187 can handle unescaped From_ line correctly.
3191 * version 0.1.17alpha
3193 * src/foldersel.c: fixed a bug that didn't display folder tree.
3194 And added the register routine for news server and group setting.
3198 * version 0.1.16alpha
3200 * src/statusbar.[ch]: added statusbar_puts_all().
3201 statusbar_puts(): made it truncate a string that is too long.
3202 * src/folderview.[ch]: changed CTree's row data from string
3203 to FolderInfo structure.
3204 And implemented popup menu that registers news server and group.
3205 * src/messageview.c: modified short header display routine.
3209 * added src/news.[ch] for NetNews session management.
3210 * src/summaryview.[ch]: added NetNews reading codes.
3215 src/prefs_common.[ch]: made them preserve toolbar style.
3216 * src/main.c: made it save configuration before exiting.
3217 * src/summaryview.c: modified summary status display routine.
3218 * added src/nntp.[ch] for handling low level NNTP session.
3222 * added src/progress.[ch] for displaying progress.
3223 * src/inc.c: modified progress dialog routines to use
3225 * src/folderview.[ch]: added preliminary NetNews supporting code.
3229 * version 0.1.15alpha
3232 src/folderview.c: some permission fixes.
3233 * src/folderview.c: implemented folder creation/renaming/removing.
3234 * src/utils.[ch]: added remove_dir_recursive() that removes
3235 a directory recursively.
3239 * src/mainwindow.[ch]: added toolbar style selection.
3240 * added src/inputdialog.[ch] to prompt user to enter a string.
3241 * src/summaryview.[ch]: modified the behavior of view on
3243 * src/mbox.c: fixed a bug that couldn't lock file when
3244 lockf() was used (Thanks to shigeri).
3248 * version 0.1.14alpha
3250 * src/mainwindow.[ch]: changed the appearance of toolbar.
3251 And fixed window handling.
3252 * src/summaryview.c: modified the messages displayed on status bar.
3253 * src/compose.[ch]: added toolbar.
3254 * src/*.xpm: borrowed some icons from gnome-libs (temporary).
3258 * version 0.1.13alpha
3260 * src/summaryview.c: fixed a bug of threading. And some code
3261 cleanups. And rewrote the routine of deleting duplicated messages
3263 * src/mainwindow.[ch]: added toolbar.
3267 * version 0.1.12alpha
3269 * src/summary_search.c: if the OS don't have wcsstr(), use wcswcs()
3271 * src/summaryview.c: changed CTree creating routine as it creates
3272 thread on the fly for speeding up.
3273 * src/procmsg.c: rewrote message processing routines using hash
3274 table for speeding up. It should be considerably faster than
3279 * version 0.1.11alpha
3281 * po/ja.po: modified msgstr for Solaris standard gettext.
3282 * src/main.c: added config.h inclusion.
3283 * src/compose.c: changed to add replied message's In-Reply-To
3284 message id to References header if it don't have References header.
3285 * src/summaryview.c: changed threading routine to use hash table
3290 * version 0.1.10alpha
3292 * po/ja.po: modified msgstr so as not to core dump on Solaris.
3293 * src/main.c: added inclusion of locale.h.
3294 (Thanks to Sato for above.)
3296 * src/socket.c: applied Solaris patch by shigeri with some
3297 modification. (Thanks!)
3301 * version 0.1.9alpha
3303 * src/compose.c: compose_encode_header(): fixed some bugs.
3304 And modified header generating routines to support proper
3305 References header, and supported Organization header.
3307 src/procheader.c: removed Cc: and Reply-To: from cache data.
3308 * src/procheader.[ch]: renamed header list structure to HeaderEntry.
3309 * src/summaryview.[ch]: summary_thread_func(): some optimization.
3310 And added summary_pass_key_press_event() to pass key press event
3312 * src/messageview.c: messageview_key_pressed(): modified so that
3313 key event is passed to summary view even if message view is
3314 separated. (Thanks to wakai@UEC univ. for pointing this out.)
3318 * version 0.1.8alpha
3320 * src/compose.c: implemented RFC1522, RFC2407 (loosely) compliant
3321 header MIME encoding.
3322 * src/procheader.c: some bug fixes of folded header line processing.
3323 * src/headerview.c: headerview_show(): some bug fixes.
3327 * version 0.1.7alpha
3329 * src/utils.c: conv_euctojis(): fixed a bug that didn't add
3330 kanji-out sequence [ \033 ( B ] when input string was ended
3331 with kanji. (Thanks to Nozomu Kobayashi for pointing this out.)
3332 * src/compose.c: compose_encode_header(): changed as it outputs
3333 encoded string to another buffer.
3334 And implemented a faculty to save sent message to outbox and
3335 to queue message that failed to send (preliminary).
3336 And, finally implemented proper To: and Cc: processing :)
3337 * src/folderview.c: added preliminary right-clicking popup menu
3338 for operating folders.
3339 * some permission fixes at creating or copying file.
3343 * version 0.1.6alpha
3345 * src/procheader.c: fixed a bug that didn't null-terminate
3346 header list and caused segmentation fault.
3350 * version 0.1.5alpha
3352 * src/procheader.[ch]: added function procheader_get_one_field()
3353 that gets one header field that matches the header list.
3354 And removed procheader_get_unfolded_line(), which is less generic.
3355 And rewrote procheader_get_header_fields() using
3356 procheader_get_one_field().
3357 * src/summaryview.c: some bug fixes of key input scan routine.
3358 * README, README.jp: modified documents a bit.
3362 * src/menu.c: menu_set_sensitive(): fixed a bug that if a menu item
3363 had a submenu, set sensitivity of the submenu, not the item.
3367 * version 0.1.4alpha
3369 * src/summaryview.c: fixed a bug that caused segmentation fault
3370 when empty summary view was center-clicked.
3371 And fixed a bug that freed moving folder strings when marked
3373 If current folder is trash, don't delete message.
3374 * src/summaryview.[ch]
3376 * src/procmsg.[ch]: added update-cache mode (discards previous cache).
3380 * src/procheader.[ch]: more optimization of header processing
3381 routine. And added a new function procheader_get_header_fields()
3382 that receives an array of header name as a parameter and
3384 * src/utils.[ch]: added remove_return() for removing return code.
3385 * src/unmime.c: added remove_return() on the last of UnMimeHeader().
3389 * src/compose.c: if message body is ascii only, set US-ASCII as
3390 charset in Content-Type.
3393 * src/prefs_common.c
3394 * src/prefs_account.c
3395 * src/account.c: changed the location of rc files.
3396 * src/account.c: enabled closing window when escape key is pressed.
3400 * version 0.1.3alpha
3402 * src/compose.c: fixed a bug that caused segmentation fault
3403 when sending failed.
3404 And relocated header-generation routines from src/send.c.
3405 * src/send.c: moved header-generation routines to src/compose.c.
3406 * src/prefs.c: added '~' to home directory expansion.
3407 * src/prefs_account.[ch]: added signature file path configuration.
3408 * src/prefs_common.[ch]: added spool path configuration.
3409 * src/inc.c: changed the method of user name acquisition to use
3414 * version 0.1.2alpha
3416 * added ChangeLog (this file), ChangeLog.jp.
3417 * some code cleanups.
3418 * added manage_window.[ch] for transient window management.
3419 * src/procheader.c: optimized header processing routine a bit.
3420 * src/send.c: fixed exception handling on connection.
3421 * src/inc.c: added exception handling on getting user name.
3425 * version 0.1.1alpha
3427 * src/send.c: fixed a bug that didn't add Content-Type: header.
3431 * version 0.1.0alpha